Download Microsoft JDBC Driver for SQL Server.; 2 minutes to read Contributors. All; In this article Using the JDBC Driver with Maven Central. The JDBC Driver can be added to a Maven project by adding it as a dependency in the POM.xml file with the following code. Microsoft JDBC Driver for SQL Server.; 2 minutes to read Contributors. In this article. Download JDBC Driver. In our continued commitment to interoperability, Microsoft provides a Java Database Connectivity (JDBC) driver for use with SQL Server, and Azure SQL Database.
Results from the survey published on Feb 23, 2017 and closed on March 14, 2017.
Oct 09, 2017 This article provides information about the updates that Microsoft is releasing to enable TLS 1.2 support for SQL Server 2017 on Windows, SQL Server 2016, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, and SQL Server.
Number of Respondents: 45
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
Microsoft JDBC Driver for SQL Server.; 2 minutes to read Contributors. In this article. Download JDBC Driver. In our continued commitment to interoperability, Microsoft provides a Java Database Connectivity (JDBC) driver for use with SQL Server, and Azure SQL Database. Microsoft JDBC Driver for SQL Server. License: MIT: Tags: jdbc sql: Used By: 108 artifacts: Central (53).
What is your build system of choice?
Answer Choice | Results |
---|---|
Maven | 73.33% |
Gradle | 28.89% |
Ant | 6.67% |
How do you obtain the JDBC driver?
Answer Choice | Results |
---|---|
Download jar or add as dependency from Maven Central | 86.67% |
Download jar from Microsoft Download Center | 13.33% |
Download jar from GitHub | 13.33% |
What version(s) of Java do your applications use?
Answer Choice | Results |
---|---|
Java 8 | 95.56% |
Java 7 | 28.89% |
Java 9 | 6.67% |
Java 6 | 4.44% |
What type of JVM do you use?
Answer Choice | Results |
---|---|
Oracle JVM | 88.89% |
OpenJDK | 37.78% |
IBM JVM | 4.44% |
IcedTeam | 2.22% |
Azul | 2.22% |
What operating system do you use with Java?
Answer Choice | Results |
---|---|
Windows 10 | 54.55% |
Ubuntu 16.04 | 45.45% |
Windows 7 | 29.55% |
Red Hat Enterprise Linux 7/CentOS 7 | 28.89% |
macOS Sierra | 22.73% |
Red Hat Enterprise Linux 6/CentOS 6 | 20.45% |
Ubuntu 16.10 (Preview) | 13.64% |
Windows Server 2012 | 8.89% |
Ubuntu 15.10 | 4.55% |
SUSE Enterprise Linux 12 | 4.55% |
OS X El Capitan | 4.55% |
Ubuntu 14.04 | 2.22% |
Windows Server 2016 | 2.22% |
Windows Server 2008R2 | 2.22% |
Azure App Server (Windows) | 2.22% |
Arch Linux | 2.22% |
OpenSolaris 11 | 2.22% |
openSUSE Leap/Tumbleweed | 2.22% |
What version of SQL Server does your Java application connect to?
Answer Choice | Results |
---|---|
SQL Server 2016 | 62.22% |
SQL Server 2012 | 44.44% |
SQL Server 2014 | 44.44% |
SQL Server 2008R2 | 37.78% |
SQL Server 2008 | 17.78% |
Azure SQL Database | 17.78% |
SQL Server 2005 | 11.11% |
SQL Server vNext (2017) | 6.67% |
Azure SQL Data Warehouse | 4.44% |
Results from the survey published on March 13, 2017 and closed on April 7, 2017.
Number of Respondents: 21
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
What types of getting started resources do you find most helpful?
Answer Choice | Results |
---|---|
Code-level examples and walk-throughs | 90.48% |
Official documentation | 57.14% |
JavaDocs | 19.05% |
Short animations demonstrating product features | 9.52% |
Video demonstrations | 9.52% |
Tutorial within the tool/IDE you currently use | 9.52% |
I don't need any help | 4.75% |
What editors and/or IDEs have you used as your primary editor in the last 3 months to create new Java applications?
Answer Choice | Results |
---|---|
Eclipse | 66.67% |
IntelliJ IDEA | 42.86% |
Netbeans | 23.81% |
Notepad++ | 14.29% |
Visual Studio | 9.52% |
Android Studio | 4.76% |
Sublime Text | 4.76% |
Visual Studio Code | 4.76% |
Atom | 4.76% |
What tools do you use for continuous deployment and DevOps?
Answer Choice | Results |
---|---|
Jenkins | 88.24% |
Docker | 52.94% |
Travis CI | 17.65% |
Flyaway | 17.65% |
Chef | 11.76% |
Amsible | 5.88% |
Team City | 5.88% |
Liquibase | 5.88% |
What frameworks have you used?
Answer Choice | Results |
---|---|
Spring Boot | 50.00% |
Spring MVC | 44.44% |
GWT | 22.22% |
JSF | 22.22% |
Struts 2 | 11.11% |
Wicket | 11.11% |
Play 1 | 5.56% |
Dropwizard | 5.56% |
Apache Kafka | 5.56% |
Stripes | 5.56% |
RESTX | 5.56% |
What major features do you use in the JDBC driver?
Answer Choice | Results |
---|---|
Bulk Copy | 54.55% |
Always Encrypted | 36.36% (Additional comment: 'We could not use Always Encrypted as it is not supported by ORMs') |
Table-Valued Parameters | 27.27% |
Azure Active Directory Authentication | 0.00% |
Internationalized Domain Names | 0.00% |
On a scale of 1 (extremely dissatisfied) to 10 (extremely satisfied), how would you rate the JDBC Driver for SQL Server?
Average number: 7
Results from the survey published on April 7, 2017 and closed on May 2, 2017.
Number of Respondents: 43
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
What features/improvements would you like to see in the JDBC Driver for SQL Server? Please rank the options below.
Feature | 1 | 2 | 3 | 4 | 5 | Score |
---|---|---|---|---|---|---|
Multiple Active Result Sets | 0 | 28.13% | 21.88% | 21.88% | 28.13% | 2.50 |
SQL Variant Data Type Support | 6.25% | 18.75% | 12.50% | 28.13% | 34.38% | 2.34 |
Idle Connection Resiliency | 3.13% | 31.25 % | 43.75% | 15.63% | 6.25% | 3.09 |
Bug fixes for issues reported | 42.86% | 25.71% | 14.29% | 11.43% | 5.71% | 3.89 |
Other | 64.71% | 5.88% | 0.00% | 14.71% | 14.71% | 3.91 |
If you answered, 'Other' to the question above (Q1), what would you like us to prioritize?
Answer | Responses |
---|---|
Fix issue #244 | 25 |
Performance - cache prepared statements | 2 |
Kerberos support | 1 |
SocketTimeOut / Query Timeout | 1 |
On a scale of 1 (extremely dissatisfied) to 10 (extremely satisfied), how would you rate the JDBC Driver for SQL Server?
Average number: 7
Results from the survey published on May 2, 2017 and closed on June 30, 2017.
Number of Respondents: 45
How likely are you to recommend the JDBC Driver for SQL Server to a friend or colleague?
Average number: 7.55
What do we do well?
- Performance, up-to-date with new SQL Server versions
- You open sourced the driver!
Code clean and nice!
You guys rocks! - Open sourced the driver.
2. Got answers on issues raised in your GitHub Repo.
3. Saw interesting conversations related to PRs.
4. Publishing on Maven Repo
5. Frequent releases on Maven. Especially frequency is good ~ monthly. (Daily will be nightmare. :) )
6. Good CHANGELOG.
Things should consider:
1. JDK 9. OpenJDK. Your driver works on OpenJDK but better if you able to use JDK 9 specific features.
2. Still supporting JDK 7 so you could not use stream api , process api, CompletableFuture APIs or lambdas which might be useful for your driver implementation
- Open sourced the driver.
- Transparency via open sourcing the driver
- Performance and reliability have never been an issue.
- Open source development, which makes it easier to debug production problems with SQL Server. Quick response on issues and questions.
What changes would you like to see to consider giving us a higher rating?
- Improve performance. Driver level type mapping (notably between datetime2 <--> datetime)
- Complete support for SQLServer's beautiful spatial datatypes and functions.
- Implement more optional JDBC functionality. Improve performance.
- Improve driver performance, as it still slower than JTDS
- Performance
- I really wish I could find a traditional JavaDoc for the project. I want to be able to see the method signatures, etc. in the way that is standard across essentially all Java projects. Perhaps it exists somewhere, but I haven't been able to find it after a few minutes of poking around on the Microsoft documentation link included with the project.
- Failover when using peer-to-peer replication
- SQL Variant type!!!!!!!!!
- Some additional support in the drivers for Application Roles. Ideally something in the properties.
- Stronger support/performance for ORM layers which are common in the Java community
Results from the survey published on July 1, 2017 and closed on August 31, 2017.
Number of Respondents: 43
How likely are you to recommend the JDBC Driver for SQL Server to a friend or colleague?
Average number: 7.35
What do we do well?
- Testing.
- Open-sourcing code for ms sql server jdbc-drivers
it'll make it much more simple to debug, troubleshoot and fix any possible bugs
What changes would you like to see to consider giving us a higher rating?
- Performance
- Fixing all reported leaks (e.g #308)
Provide expected implementation of getObject() methods (#6)
Provide a decent implementation of getGeneratedKeys() (#245)
Finally, this is the only JDBC driver that I know that does not cache the PreparedStatement (#166) - A Microsoft product doesn't support NTLM out of the box. Whut? >A closed-source DLL is required to make NTLM work, but its not multi-platform, and our Java services are running on Linux VMs.I've tried your Kerberos implementation, but I found it impossible to configure correctly for cross-domain authentication.
- Performance of other drivers, such as the Merlia driver from INetsoft.de, can be significantly higher than the MS driver.
- Improve more the performance.
- If the JDBC batch inserts would use the SQL Bulk Copy api automatically when performing batch operations, this would be very convenient. As this would prevent the need to use a separate non-standard JDBC api to efficiently load data. Also, for the existing SQLBulkCopy API, the interface on ISQLBulkRecord for the method, getColumnOrdinals() should return a SortedSet not just a Set, as it turns out the driver code in SQLBulkCopy expects the set of columnOrdinals to be an ordered set, and this is not explicit in the interface just returning a Set as a set is unordered (this is a minor thing, but it was a source of confusion for a little while when implementing a ISQLBulkRecord instance, until reading through the source code of the SQLBulkCopy class).
- Improved performance (especially batch inserts)
- Bug fixes
- Improved error messages, exception handling - I can connect to our SQL Server if I use kinit -k -t /path/to/keyTab principle@DOMAIN.UW.EDU before I run my java code or tomcat application. I would like to use the keyTab directly so that the code can make a kerberos connection with out having a ticket cached.
- More visibility on performance improvements.
- Supporting NTLM authentication without an additional DLL. Our Java servers are Linux-based, and the DLL required is Windows-only.
- A focus on performance to offset the recent issues exposed on github (e.g. #166). Lack of understanding how most Java application drive prepared statements throughout the industry is quite telling.
- Performance when compared to jtds.
- support for RSASSA-PSS certs and get started on TLS 1.3
- Better performance, cleaner code.
- PreparedStatement caching/optimisations for ORMs
- complete some features that is not present now
and add driver for ssas service - Increase Performance
Bundle the .dll file for integrated security and automatically load it, if appropriate.
Results from the survey published on September 1, 2017 and closed on September 30, 2017.
Number of Respondents: 17
How likely are you to recommend the JDBC Driver for SQL Server to a friend or colleague?
Average number: 8.17
What do we do well?
- Really love the new MIT license and responsiveness on GitHub. The license is very useful to reverse engineer some of the internals, e.g. to learn how TVP are to be used, etc.
- transparency, responsiveness
- Drivers look stable and work reliably, I like the fact they've been open sourced.
- Making driver MIT is helping to distribute and fix issues without license/IP concerns
Ms Sql Odbc Driver Download
What changes would you like to see to consider giving us a higher rating?
- Ongoing support for Java 7
- Rewrite the driver to use Netty http://netty.io
- Can you give Gradle support. You are getting paid for not being ugly, retarded and lazy programmers.
- Please list the differences in jre7 and jre8 artifact variations. Why use one vs the other, etc. ? Thanks.
- Fix Github Issues + Pull Requests
- Improve SQLBlobStream and PLPInputStream documentation. I'm having a lot of trouble streaming large data from SQL Server, always getting OutOfMemory exceptions and GC overhead.
- Rewrite the driver using XNIO.
Results from the survey published on February 1, 2018 and closed on March 31, 2018.
Number of Respondents: 18
How likely are you to recommend the JDBC Driver for SQL Server to a friend or colleague?
Average number: 7
What do we do well?
- Quick feedback on bugs and questions
- GitHub development.
- Open source is a very nice option.
- Support for high availability
- MIT-License, Up-to-date with jre9
- Great license, Open Source, GitHub
- Release frequency, release documentation, issue management
What changes would you like to see to consider giving us a higher rating?
- More relevant error messages, particularly from Bulk Copy features.
- Mapping of date and time fields in Bulk Copy is unreliable.
- Make a better code. For example, when you create a TimeoutTimer (mssql-jdbc-TimeoutTimer) you never shutdown the scheduler. So, for example, every time you stop the tomcat, you get an exception!
- More Performance, Other Drivers handles Query faster.
- Better compatibility with old JTDS. We have a few products that break when trying to switch to this.
- Like to see some perf results. Not fully OSGI compilant but still happy to see OSGI headers.
- Old versions would be nice.
- I would love to be able to enter SQL server issues the same way as it is possible with the JDBC driver. Basically there is zero feedback about SQL server issues. E.g. SQL server 2017 has performance problems in certain scenarios. We entered a bug, but there is zero information about the progress or if the bug is actually worked on.
Sql Server 2017 Release Date
What are the most important features you would like to see implemented in the driver?
- Java 10 is nearly here but the driver is not yet Java 9 compatible. This blocks lots of our apps migration to Java 9 :(
- AKV
- Clustering
- Improved performance - especially with PreparedStatements
- New feature? None. As mentioned earlier, more relevant error messages in exceptions. For example, tell me the row and column number at which a conversion error occurred during a Bulk Copy.
What version of Java do you use in Production?
- Java 7 Users: 1
- Java 8 Users: 15
- Java 9 Users: 1
What operating system do you primarily use in Production?
- Windows Users: 8
- CentOS/RedHat/Ubuntu Users: 8
- Debian User: 1
In our continued commitment to interoperability, Microsoft provides a Java Database Connectivity (JDBC) driver for use with SQL Server, and Azure SQL Database. The driver is available at no additional charge and provides Java database connectivity from any Java application, application server, or Java-enabled applet. This driver is a Type 4 JDBC driver that provides database connectivity through the standard JDBC application program interfaces (APIs).
The Microsoft JDBC Driver for SQL Server has been tested against major application servers such as IBM WebSphere, and SAP NetWeaver.
Getting started
Documentation
Community
Download
Download Microsoft JDBC Driver for SQL Server - has additional information about Maven projects, and more.