Microsoft releases a new JDBC Driver for SQL Server

Discussions

News: Microsoft releases a new JDBC Driver for SQL Server

  1. Microsoft recently released a beta version of its new Type 4 JDBC Driver for SQL Server 2000 and SQL Server 2005, enabling standard JDBC connectivity from any Java/J2EE app. This new Type 4 driver is a significant step up from the old driver with respect to security and performance.

    In a related news article, IDC analyst Carl Olofson points out that "Microsoft is saying SQL Server 2005 is an enterprise-class, transaction-oriented relational database management system just like (Oracle or Sybase or DB2)."

    The 'Beta 1' release of the new driver will include:
    • Improved Performance
    • Improved Security via Integrated Authorization
    • Support for the latest JDBC specification (JDBC 3.0)
    • Several feature enhancements
       - Improved XA Transaction support
       - BLOB and CLOB support
       - Updateable Result Sets

    How will SQL Server's increased support for interoperability with Java affect its presence in the Enterprise? What limitations have you found in the current drivers that affect your deployments? Does the new release address them?

    Threaded Messages (31)

  2. I doubt any change[ Go to top ]

    Given there are third party JDBC drivers for SqlServer, I don't think this makes much difference. but that's my bias opinion.

    peter
  3. I doubt any change[ Go to top ]

    I agree that your opinion is biased. I also agree that there are third-party drivers, but you forgot to mention that they are not free (except JTDS) and are in fact quite expensive.

    I'm not sure about the new SQL Server JDBC driver, but the old one was developed by Data Direct and was like 6-months older than Data Direct's latest one. Anyway, I had problems with both Microsoft's and the "greatest" Data Direct's one. I had similar problems with JNetDirect's driver.

    One of the problems was so basic that I totally lost any confidence in all commercial JDBC vendors for SQL Server. When I called Data Direct, they were gave me all the marketing BS against Microsoft JDBC driver, not knowing that I knew it was their older one. When I told them that I knew about it, they told me that Microsoft's was their "old generation" one. Anyway, here's one of the problems in short - when reading the resultset of a simple query, for certain records only (I guess, it all has to do with the buffering), only the first (or last) 8 (or 16) bits (excuse me, but I don't remember exactly) of a 32-bit integer were read and the rest were simply ignored (set to zeros). Can you imagine that? I was able to reproduce this error EVERY SINGLE TIME. I won't mention the headaches with the forward-only cursors forcing you to access fields ONLY in their physical order. How can you work around such issues? How can MySQL, PostgreSQL, and FireBird provide reliable and totally free JDBC drivers and a giant like Microsoft can't?

    I hope that the new driver is more stable as I hear their new SQL Server 2005 kicks butt.
  4. I doubt any change[ Go to top ]

    I agree that your opinion is biased. I also agree that there are third-party drivers, but you forgot to mention that they are not free (except JTDS) and are in fact quite expensive.I'm not sure about the new SQL Server JDBC driver, but the old one was developed by Data Direct and was like 6-months older than Data Direct's latest one. Anyway, I had problems with both Microsoft's and the "greatest" Data Direct's one. I had similar problems with JNetDirect's driver.One of the problems was so basic that I totally lost any confidence in all commercial JDBC vendors for SQL Server. When I called Data Direct, they were gave me all the marketing BS against Microsoft JDBC driver, not knowing that I knew it was their older one. When I told them that I knew about it, they told me that Microsoft's was their "old generation" one. Anyway, here's one of the problems in short - when reading the resultset of a simple query, for certain records only (I guess, it all has to do with the buffering), only the first (or last) 8 (or 16) bits (excuse me, but I don't remember exactly) of a 32-bit integer were read and the rest were simply ignored (set to zeros). Can you imagine that? I was able to reproduce this error EVERY SINGLE TIME. I won't mention the headaches with the forward-only cursors forcing you to access fields ONLY in their physical order. How can you work around such issues? How can MySQL, PostgreSQL, and FireBird provide reliable and totally free JDBC drivers and a giant like Microsoft can't?I hope that the new driver is more stable as I hear their new SQL Server 2005 kicks butt.

    If having a good driver for sql server is important, then buy a license. I remember switching from ODBC to OLEDB back in 99 because the ODBC drivers weren't meeting our needs. Having third party options sometimes can save a project, especially if the driver provided by microsoft don't meet the requirements. Luckily for me, I don't use sql server in production in my current position, so it doesn't really affect me. For those who do use sql server, I'm sure it's welcomed news.

    peter
  5. DataDirect Clarification[ Go to top ]

    Please allow me to clarify this discussion from a DataDirect perspective.
     

    - In 2001, Microsoft chose to license a static, snapshot version of the DataDirect Driver.

    - That driver is now 7 versions old. It does not include a large number of functional, performance and scalability improvements that have been made to the DataDirect driver.

    - Judging the quality of the DataDirect driver can not be done by assessing the current Microsoft driver
     
    For obvious reasons, Microsoft has not been in a position to promote or advance the cause of Java. Whether this new effort by Microsoft will prove to be any different is questionable. In either case, DataDirect will continue to provide an upgraded version of the Microsoft driver to customers that need the best possible JDBC solution. DataDirect is production proven in thousands of environments and is the clear leader for ISVs that bundle a JDBC driver – including the major commercial Java Enterprise Edition Application Servers.

    I would encourage you to evaluate the current DataDirect driver and judge it on its merits. Evaluation copies may be found at

    http://www.datadirect.com/downloads/registration/connect_jdbc/index.ssp

    With regards to Nikolay’s comment about the integer issue - there is no record of that issue in our technical support system so please contact me directly so that we can resolve the issue.
  6. DataDirect Clarification[ Go to top ]

    Jonathan's comments are good, and from my perspective (the Program Manager for JDBC at MSFT since 2001) I think the Data Direct 2.2 driver has served Microsoft customers well. It's not a perfect driver, but for the number of users (more than a million downloads) it has been a solid product on the whole. The updated Data Direct driver is substantially improved and is worth checking out.

    The feedback we received on the Data Direct/SQL Server driver made it very clear that there was a large
    community of developers that wanted high-quality data access to SQL Server from the Java platform. With this
    level of demand we felt it was critical that we own our SQL Server JDBC product so we could address the feature and
    support requirements of our customers directly.

    It's important to us that Java platform developers have the best possible experience with SQL Server, and I'm
    grateful to the people who have already contributed to generally improving Java data access for SQL Server --
    in particular people like Joe at BEA, Alin at jTDS, the guys at Data Direct, and all the people who've posted
    to the community at microsoft.public.sqlserver.jdbcdriver.

    If you try the new driver out and have comments, please use the link MSDN Response Center link
    (http://lab.msdn.microsoft.com/productfeedback/default.aspx) or feel free to email me directly with
    comments (shelbyg-at-microsoft-dot-com).

    -shelby


    Shelby Goerlitz
    Microsoft, SQL Server
  7. features[ Go to top ]

    Hmmm..So which bugs was added again? ahem..I mean features.

    <wink> <wink>
    <nudge> <nudge>
  8. features[ Go to top ]

    n n - the most cynical and sarcastic poster on TSS. Keep up the good work!
  9. Bald and toothless[ Go to top ]

    Race,

    It must be the flouride in the water, some of these folks are actually using a BETA from Microsoft for Java.

    ha!

    I can see it now, all of them at the Hair Club For Men 6 months from now.
  10. Did they fix the memory leak?[ Go to top ]

    We had such memory leaks when using their driver in a DBPool that we had to switch to JTDS, does anyone know if they've fixed it?

    Not that we'd switch from JTDS at this point, but I don't see the issue listed as a fix.
  11. Quote of the day[ Go to top ]

    This new Type 4 driver is a significant step up from the old driver with respect to security and performance.

    Ha ha ha It has been a few years, but let me say that ANYTHING is a significant step up from the old driver. I'm not sure that Microsoft even offically supported their JDBC driver when I was working with it.

    I know I'm going to get blasted for saying this, but a few companies ago I was doing development against a SQLServer. I actually didn't mind working with it, seemed like an OK product. It has a cute little built-in gui tool for setting up users, building tables, producing ERD diagrams, etc... That being said SQLServer is not on my top 3 fav database list.
  12. jtds[ Go to top ]

    Jtds, maybe not perfect, but definitely much better than Microsoft's crappy jdbc driver.
  13. JTDS is best driver choice for MS SQL[ Go to top ]

    SUBJ
  14. Yep, jTDS is VERY good[ Go to top ]

    jtds is very fast, and stable.. we've been using it for over 3 years now
  15. Yep, jTDS is VERY good[ Go to top ]

    +1

    Using ms jdbc is like dating your x-wife.
    "I ll be nice now"
    .V
  16. Yep, jTDS is VERY good[ Go to top ]

    +1Using ms jdbc is like dating your x-wife. "I ll be nice now".V
    Hey, I'm not totally negative about this release from MS... but this post is damn funny!
  17. jtDS is good but...[ Go to top ]

    jTDS is good but real support for XA transactions is still in beta version. If you need this feature for a production environment then you are "forced" to use MS driver. (the previous version of jTDS just pretend to be XA, while the latest is not yet usable in production according to the release notes).

    So now I'm waiting for the results of the race for "production ready" and XA enabled versions of jTDS and MS drivers.
  18. jtDS is good but...[ Go to top ]

    jTDS' XA implementation is still in beta because it doesn't seem to be used very much. Or it is, but we have gotten no bug reports on it. Anyway, since it's been available for at least 6 months now, it's probably time to move it out of beta and into production.

    BTW, if you're wondering, I am one of the jTDS developers. So thanks everyone for appreciating our effort. :o)

    Regarding the MS driver, it looks very much a copy of the JNetDirect driver. So this time they didn't buy DataDirect, but it's still not developed by MS. Which means a couple of things: first, performance isn't going to improve much over the so-called beta (because the JNetDirect driver is probably already as optimized as possible) and second, since Microsoft didn't put more effort into this driver than into their previous one, there's just a slight possibility that support is going to be just the same. I don't mean to offend the MS developers, but this kind of stuff is obviously not for them to decide.

    Alin,
    The jTDS Project.
  19. "I'll be nice now" <g>[ Go to top ]

    The difference now is that we’ve committed to developing our own driver with internal resources, and to making JDBC a first-class member of the SQL Server data access story along with ODBC and ADO.Net.

    Our JDBC team is passionate about the challenge of making a great driver and we expect to let the quality of our product and our responsiveness to our customers do the talking.

    -shelby

    Shelby Goerlitz
    Microsoft, SQL Server
  20. that's good[ Go to top ]

    The difference now is that we’ve committed to developing our own driver with internal resources, and to making JDBC a first-class member of the SQL Server data access story along with ODBC and ADO.Net.Our JDBC team is passionate about the challenge of making a great driver and we expect to let the quality of our product and our responsiveness to our customers do the talking.
    -shelby
    Shelby Goerlitz
    Microsoft, SQL Server

    that would be a good thing and avoid the need to go download a third party driver for sql server. does MS plan to release any road map for the development of the JDBC driver? Just curious.

    peter
  21. that's good[ Go to top ]

    Peter:

    Our rough roadmap for JDBC is:

    Short term -- ship v1.0 with SQL Server 2005 launch (NOV ’05 -- http://msdn.microsoft.com/launch2005/)

    Medium term – at least one 1.x release to respond to customer feature / suggestion feedback in early 2006 and a 2.0 release with JDBC 4.0 / SE 6 late 2006 (depending on Mustang release dates..)

    Long term – in general keep release schedule paced to SQL Server service pack and major releases; notice that we’ve kept the product as a web-release so that we can ship out-of-band w/ SQL Server to respond to Java release requirements (JSRs, etc.) as necessary

    -shelby
  22. thanks[ Go to top ]

    thanks for replying with info.

    peter
  23. JNetDirect[ Go to top ]

    Very interesting that the reply from MS doesn't say whether JNetDirect's driver was used as the starting point.
  24. "I'll be nice now"[ Go to top ]

    Shelby,

    I'm not trying to pick on anyone here. My observations were just based on the fact that while, as you say, "[Microsoft] has committed to developing [its] own driver with internal resources" the new driver is actually bought and not developed by MS, just like the old one.

    And Microsoft never said it wasn't committed to supporting and developing its old driver. So until anything changes (except the fact that the new JNetDirect driver is better than the old DataDirect, to begin with) allow me to doubt to some extent Microsoft's commitment to Java.

    Alin,
    The jTDS Project.
  25. Thank goodness they dropped the DataDirect drivers. Those never worked for us. I just tried the latest and it worked great. It's the first driver from MSFT that has worked for us. After we continue to test, we can now consider switching to it from inet's OPTA.
  26. Finally! As I say in my previous post, Data Direct one was a joke!
  27. What it is: JDBC 3.0 compliant type 4 driver to Sql Server 2000 and Sql Server 2004 on jvm 1.4.2 and expected to ship "within a reasonable window" of Sql Server 2005. This driver is not related to our previous offering in this space and will be completely supported in house with product group (part of the Sql Server DataWorks team) and PSS support.

    Hello, my name is Angel and I work in the jdbc product group. One of the things that I truly worried about as I started working on this project was the community aspects that are associated with releasing a java product. It is very encouraging to see a mixed bag of responses and even some positive feedback.

    It is very important for me to see that there are some people here that are already trying out this driver (and no, I don’t have any financial interest in the Hair Club for Men  ). We are on a very tight schedule and could use any and all feedback. We are going to ship as many betas as we can (not many) we have set up online feedback and bug reporting via http://lab.msdn.microsoft.com/productfeedback/default.aspx and we will be actively monitoring the microsoft.public.sqlserver.jdbcdriver newsgroup for beta feedback.

    I hope to see you there.
  28. What it is: JDBC 3.0 compliant type 4 driver to Sql Server 2000 and Sql Server 2004 on jvm 1.4.2 and expected to ship "within a reasonable window" of Sql Server 2005. This driver is not related to our previous offering in this space and will be completely supported in house with product group (part of the Sql Server DataWorks team) and PSS support.


    Angel,

    Don't pay much attention to the xenophobic responses in this thread. You are doing great job.

    The thing you guys are missing and that limits wider adoption of MS SQLServer and the driver by the Java camp is the driver packaging policy. You will notice much higher use of both if you allow packaging the driver into 3rdparty apps. In the end it will mean more happy MSSQL customers.

    We would would be interested in using the driver with Parabuild if you had adequate license for the driver. Till that we have to resort to using jTDS that is also a great product.

    Regards,

    Slava Imeshev
    http://www.viewtier.com
  29. Good News[ Go to top ]

    It’s good news in my opinion! Glad to hear that MS is trying to keep its JDBC driver updated. Looking forward when it became official release (I mean not Beta).

    Regards,

    Taras
  30. What took them so long[ Go to top ]

    They just didnt want projects who already had their stuff on MS SQL Server from using Java IMO. And a couple of years back they enacted this farce of bringing out a JDBC driver based on a dated DataDirect offering. I for one will be very skeptical of using SQL Server itself for this reason. Their decision making at the SQL Server product level is hindered by their being part of a monopolistic vendor who tries everything to perpetrate that monopoly using any product in their arsenal. Not enough, many documents are already tied up in the proprietary MS formats, I am supposed to be foolish enough to put my critical data at the mercy of MS. No thanks. BTW, I have worked for a long time with SQL Server and liked it as a product, but hated the fact that they refused to support Java and JDBC as first class interfaces to it when most other vendors did.
  31. Slava,
    I am actually happy with the responses so far, I was expecting worse than a healthy dose of skepticism. If we are going to be successful in this space we are going to need a lot of help from the Java community. I hope to put out the message that we are trying to do the right thing and putting our best foot forward.

    Unlike our old driver this new product will be redistributable (as per Tom Rizzo's comments in this article http://internetnews.com/ent-news/article.php/3515586)

    We are definitely hoping to see more happy Sql Server customers
  32. Angel,
    Unlike our old driver this new product will be redistributable (as per Tom Rizzo's comments in this article http://internetnews.com/ent-news/article.php/3515586) We are definitely hoping to see more happy Sql Server customers

    That's good to hear. We'll be looking forward to seeing the production version of the driver.

    By the way, is there any performance comparison data for the new driver?

    Regards,

    Slava Imeshev
    http://www.viewtier.com