JDBC for SQL Server - Herong's Tutorial Examples - v3.14, by Herong Yang
DriverManager.getConnection() and Connection URL
This section describes how to use DriverManager.getConnection() and connection URL for the Microsoft JDBC driver.
Once the JDBC driver class is loaded, you are ready to connect to a SQL Server by using the DriverManager.getConnection(connection_url) method. The connection URL, connection_url, is a string with the following syntax, assuming that the SQL Server is running an instance at the default port number.
jdbc:sqlserver://server_name;user=login;password=****
The tutorial program below shows you a good example of using getConnection() and connection URL:
/* ConnectionTest2.java * Copyright (c) HerongYang.com. All Rights Reserved. */ import java.sql.*; public class ConnectionTest2 { public static void main(String [] args) { Connection con = null; try { // Obtaining a connection to SQL Server con = DriverManager.getConnection( "jdbc:sqlserver://localhost;" + "user=herong;password=T0pSecret"); } catch (Exception e) { e.printStackTrace(); } } }
Run the above program with latest JDK. You may get no error, if the server is configured correctly.
herong> java -cp .;mssql-jdbc-9.4.1.jre16.jar ConnectionTest2.java
Or you may get connection error like this:
herong> java -cp .;mssql-jdbc-9.4.1.jre16.jar ConnectionTest2 com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "connect timed out. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
The error suggests us to verify: is the database instance running or not, which TCP/IP port the instance is listening for incoming connections, and is there any firewall blocking the TCP/IP connection. See the next tutorial on how to troubleshoot the problem.
Previously, when I ran the same example program with JDK 1.6, JDBC Driver 1.0, and SQL Server 2005 Express Edition, the program failed with a different error message:
herong> java -cp .;sqljdbc.jar ConnectionTest2 SQLException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect
Table of Contents
JDBC (Java Database Connectivity) Introduction
Microsoft SQL Server Express Edition
►Microsoft JDBC Driver for SQL Server
Installing Microsoft JDBC Driver for SQL Server
Loading Driver Class Automatically
Loading Driver Class with Class.forName()
►DriverManager.getConnection() and Connection URL
Enable TCP/IP with SQL Server Configuration Manager
Specifying Port Number in Connection URL
Instance Name Better than Port Number
Specifying Instance Name in Connection URL
Closing the Database Connection - con.close()
Specifying Database Name in Connection URL
Incorrect Database Name in Connection URL
Creating Connections with DataSource Class
Microsoft JDBC Driver - Query Statements and Result Sets
Microsoft JDBC Driver - DatabaseMetaData Object
Microsoft JDBC Driver - DDL Statements
Microsoft JDBC Driver - DML Statements
SQL Server - PreparedStatement
SQL Server CLOB (Character Large Object) - TEXT
SQL Server BLOB (Binary Large Object) - BLOB
Using Connection Pool with JDBC
JDBC-ODBC Bridge Driver - sun.jdbc.odbc.JdbcOdbcDriver
JDBC-ODBC Bridge Driver - Flat Text Files
JDBC-ODBC Bridge Driver - MS Access