-
Notifications
You must be signed in to change notification settings - Fork 423
JDBC Survey Results
Results from the survey published on Oct 30, 2019 and closed on Aug 4, 2020.
Number of Respondents: 61
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
Average number: 7.02
Answer | Results |
---|---|
Asynchronous JDBC or R2DBC. | 27.5% |
Remove extra metadata lookup when using CallableStatement with named parameters. | 21.25% |
Multi Factor Authentication. | 17.5% |
Channel binding (for extended protection and encrypted connections). | 11.25% |
Additional spatial data type support. | 8.75% |
GetGeneratedKeys support when using Identity and jdbc batch inserts. | 1.25% |
Azure Key Vault authentication with MSI | 1.25% |
Answer Choice | Results |
---|---|
Java 8 | 47.5% |
Java 11 | 33.75% |
Java 13 | 10% |
Java 7 | 5% |
Java 6 | 5% |
Answer Choice | Results |
---|---|
Windows | 37.7% |
Ubuntu | 21% |
RedHat | 12.3% |
Debian | 9.7% |
MacOS | 7.9% |
SUSE | 3.5% |
Other | 7.9% |
Answer Choice | Results |
---|---|
SQL Server 2017 | 19.2% |
SQL Server 2016 | 15.2% |
SQL Server 2019 | 14.4% |
Azure SQL Database | 12% |
SQL Server 2012 | 11.2% |
SQL Server 2008R2 or older | 11.2% |
SQL Server 2014 | 9.6% |
Azure SQL Data Warehouse | 4% |
Azure SQL Managed Instance | 3.2% |
Results from the survey published on Nov 30, 2018 and closed on Oct 16, 2019.
Number of Respondents: 30
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
Average number: 8
If you rated us less than 10, what changes would you like to see to consider giving us a higher rating?
Answer |
---|
The driver does not have the functionality exposed by the respective .NET driver especially in the SQL BulkLogged API. |
Performance. |
A module-info file in the root to build distributables. |
Focus on stability and performance against Azure SQL server. |
Include documentation on how to configure the driver in Spring-boot applications. |
Fixing known bugs and regressions. |
Struggles using the driver with jlink/JAVA module system. |
JDBC API should be extended to include more modern features. If JDBC API is rigid then SQL Server specific functionalities should be added. |
Answer |
---|
The driver works fine and message are clear. |
Responsive to issues, questions and PRs. |
You open sourced jdbc driver (kudos for that) and development is pretty fast. |
Updates and Development. |
Timeliness of updates and fixes. |
You released this opensource and on maven, good job. |
The general cases works well. |
Driver works very well, is frequently updated and support OSGi out-of-the-box. |
Answer |
---|
SQL BulkLogged API. |
Event interface for the purpose of statistics gathering. |
Enhance support getting result sets from stored procedures lacking SET NOCOUNT ON. |
JPMS Support. |
Bulk copy support for Spatial data types. |
Native connection pooling. |
Implement Connection.getNextValueFor("SEQ_NAME"). |
Answer Choice | Results |
---|---|
Java 8 | 43.34% |
Java 11 | 26.67% |
Java 12 | 3.34% |
Java 10 | 3.34% |
Java 9 | 3.34% |
Java 6 | 3.34% |
Answer Choice | Results |
---|---|
Windows | 63.34% |
RedHat | 13.34% |
Ubuntu | 3.34% |
MacOS | 3.34% |
Answer Choice | Results |
---|---|
Windows | 53.34% |
RedHat | 20% |
Ubuntu | 6.67% |
Alpine Linux Docker | 3.34% |
Answer Choice | Results |
---|---|
SQL Server 2017 | 40% |
SQL Server 2016 | 36.67% |
SQL Server 2012 | 30% |
SQL Server 2014 | 20% |
SQL Server 2008R2 | 16.67% |
Azure SQL Database | 13.34% |
SQL Server 2008 or older | 10% |
Results from the survey published on Feb 23, 2017 and closed on March 14, 2017.
Number of Respondents: 45
All questions below allowed multiple answers. As a result, %s in results below do not always total 100%.
Answer Choice | Results |
---|---|
Maven | 73.33% |
Gradle | 28.89% |
Ant | 6.67% |
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% |
Answer Choice | Results |
---|---|
Java 8 | 95.56% |
Java 7 | 28.89% |
Java 9 | 6.67% |
Java 6 | 4.44% |
Answer Choice | Results |
---|---|
Oracle JVM | 88.89% |
OpenJDK | 37.78% |
IBM JVM | 4.44% |
IcedTeam | 2.22% |
Azul | 2.22% |
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% |
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%.
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% |
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% |
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% |
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 |
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
Average number: 7.55
- 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.
- 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
Average number: 7.35
- 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
- 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
Average number: 8.17
- 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
- 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
Average number: 7
- 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
- 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.
- 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.
- Java 7 Users: 1
- Java 8 Users: 15
- Java 9 Users: 1
- Windows Users: 8
- CentOS/RedHat/Ubuntu Users: 8
- Debian User: 1