Giter Club home page Giter Club logo

mssql-jdbc's Introduction

GitHub license Maven Central Javadocs Gitter

Microsoft JDBC Driver for SQL Server

Welcome to the Microsoft JDBC Driver for SQL Server project!

The Microsoft JDBC Driver for SQL Server is a Type 4 JDBC driver that provides database connectivity through the standard JDBC application program interfaces (APIs) available in the Java Platform, Enterprise Editions. The Driver provides access to Microsoft SQL Server and Azure SQL Database from any Java application, application server, or Java-enabled applet.

We hope you enjoy using the Microsoft JDBC Driver for SQL Server.

SQL Server Team

Take our survey

Let us know how you think we're doing.

Status of Most Recent Builds

AppVeyor (Windows) Travis CI (Linux)
AppVeyor Travis CI

Announcements

What's coming next? We will look into adding a more comprehensive set of tests, improving our javadocs, and start developing the next set of features.

Get Started

Build

Prerequisites

  • Java 8
  • Maven
  • An instance of SQL Server or Azure SQL Database that you can connect to.

Build the JAR files

Maven builds automatically trigger a set of verification tests to run. For these tests to pass, you will first need to add an environment variable in your system called mssql_jdbc_test_connection_properties to provide the correct connection properties for your SQL Server or Azure SQL Database instance.

To build the jar files, you must use Java 8 with Maven. You can choose to build a JDBC 4.1 compliant jar file (for use with JRE 7) and/or a JDBC 4.2 compliant jar file (for use with JRE 8).

  • Maven:
    1. If you have not already done so, add the environment variable mssql_jdbc_test_connection_properties in your system with the connection properties for your SQL Server or SQL DB instance.
    2. Run one of the commands below to build a JDBC 4.1 compliant jar or JDBC 4.2 compliant jar in the \target directory.
      • Run mvn install -Pbuild41. This creates JDBC 4.1 compliant jar in \target directory
      • Run mvn install -Pbuild42. This creates JDBC 4.2 compliant jar in \target directory

NOTE: Beginning release v6.1.7, we will no longer be maintaining the existing Gradle build script and it will be left in the repository for reference. Please refer to issue #62 for this decision.

  • Gradle:
    1. If you have not already done so, add the environment variable mssql_jdbc_test_connection_properties in your system with the connection properties for your SQL Server or SQL DB instance.
    2. Run one of the commands below to build a JDBC 4.1 compliant jar or JDBC 4.2 compliant jar in the \build\libs directory.
      • Run gradle build -Pbuild=build41. This creates JDBC 4.1 compliant jar in \build\libs directory
      • Run gradle build -Pbuild=build42. This creates JDBC 4.2 compliant jar in \build\libs directory

Resources

Documentation

This driver is documented on Microsoft's Documentation web site.

Sample Code

For samples, please see the src\sample directory.

Download the DLLs

For some features (e.g. Integrated Authentication and Distributed Transactions), you may need to use the sqljdbc_xa and sqljdbc_auth DLLs. They can be downloaded from the Microsoft Download Center

Download the driver

Don't want to compile anything?

We're now on the Maven Central Repository. Add the following to your POM file:

<dependency>
	<groupId>com.microsoft.sqlserver</groupId>
	<artifactId>mssql-jdbc</artifactId>
	<version>6.1.0.jre8</version>
</dependency>

The driver can be downloaded from the Microsoft Download Center.

To get the latest preview version of the driver, add the following to your POM file:

<dependency>
	<groupId>com.microsoft.sqlserver</groupId>
	<artifactId>mssql-jdbc</artifactId>
	<version>6.1.7.jre8-preview</version>
</dependency>

Dependencies

This project has following dependencies:

Compile Time:

  • azure-keyvault : Azure Key Vault Provider for Always Encrypted feature (optional)
  • adal4j : Azure ActiveDirectory Library for Java for Azure Active Directory Authentication feature (optional)

Test Time:

  • junit:jar : For Unit Test cases.

Dependency Tree

One can see all dependencies including Transitive Dependency by executing following command.

mvn dependency:tree

Azure Key Vault and Azure Active Directory Authentication Dependencies

Projects that require either of the two features need to explicitly declare the dependency in their pom file.

For Example: If you are using Azure Key Vault feature then you need to redeclare azure-keyvault dependency in your project's pom file. Please see the following snippet:

<dependency>
	<groupId>com.microsoft.sqlserver</groupId>
	<artifactId>mssql-jdbc</artifactId>
	<version>6.1.0.jre8</version>
	<scope>compile</scope>
</dependency>

<dependency>
	<groupId>com.microsoft.azure</groupId>
	<artifactId>azure-keyvault</artifactId>
	<version>0.9.7</version>
</dependency>

Guidelines for Creating Pull Requests

We love contributions from the community. To help improve the quality of our code, we encourage you to use the mssql-jdbc_formatter.xml formatter provided on all pull requests.

Thank you!

Guidelines for Reporting Issues

We appreciate you taking the time to test the driver, provide feedback and report any issues. It would be extremely helpful if you:

  • Report each issue as a new issue (but check first if it's already been reported)
  • Try to be detailed in your report. Useful information for good bug reports include:
    • What you are seeing and what the expected behaviour is
    • Which jar file?
    • Environment details: e.g. Java version, client operating system?
    • Table schema (for some issues the data types make a big difference!)
    • Any other relevant information you want to share
  • Try to include a Java sample demonstrating the isolated problem.

Thank you!

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Contributors

Special thanks to everyone who has contributed to the project.

Up-to-date list of contributors: https://github.com/Microsoft/mssql-jdbc/graphs/contributors

  • marschall (Philippe Marschall)
  • pierresouchay (Pierre Souchay)
  • gordthompson (Gord Thompson)
  • gstojsic
  • cosmofrit
  • JamieMagee (Jamie Magee)
  • mfriesen (Mike Friesen)
  • tonytamwk
  • sehrope (Sehrope Sarkuni)
  • jacobovazquez
  • brettwooldridge (Brett Wooldridge)

License

The Microsoft JDBC Driver for SQL Server is licensed under the MIT license. See the LICENSE file for more details.

Code of conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

mssql-jdbc's People

Contributors

afsanehr-zz avatar ajlam avatar brettwooldridge avatar cosmofrit avatar gordthompson avatar gstojsic avatar jacobovazquez avatar jamiemagee avatar marschall avatar mfriesen avatar msftgits avatar pierresouchay avatar sehrope avatar tobiassql avatar tonytamwk avatar v-nisidh avatar worldtiki avatar xiangyushawn avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.