JDBC for SQL Server - Herong's Tutorial Examples - v3.14, by Herong Yang
Specifying Instance Name in Connection URL
This section describes how to specify instance names in the connection URL for a specific SQL Server database instance.
In the last tutorial, we learned that SQL Server can support multiple database instances on a single host machine and the SQL Server Browser service can help JDBC client applications to specify the instance name instead of port number to connect to a specific instance.
Now I can modify my example program to specify the instance name in the connection URL in the following syntax:
jdbc:sqlserver://server_name\instance_name;user=login;password=**** jdbc:sqlserver://server_name;instanceName=instance_name; user=login;password=****
Before we run any tests with the instance name URL, we need to make sure the SQL Server Browser service is running together with my SQLEXPRESS instance:
1. Go to Control Panel and run "Services".
2. Find the "SQL Server Browser" service, enable it and run it.
3. Look at the "SQL Server (SQLEXPRESS)" service and make sure it is still running.
Here is the revised example program that shows you how to use instance name instead of port number in the connection URL:
/* ConnectionTest4.java * Copyright (c) HerongYang.com. All Rights Reserved. */ import java.sql.*; public class ConnectionTest4 { public static void main(String [] args) { try { // Obtaining a connection to SQL Server Connection con = DriverManager.getConnection( "jdbc:sqlserver://localhost\\SQLEXPRESS;" + "user=herong;password=T0pSecret"); // Connection is ready to use DatabaseMetaData meta = con.getMetaData(); System.out.println("Driver name: " + meta.getDriverName()); System.out.println("Driver version: " + meta.getDriverVersion()); System.out.println("Server name: " + meta.getDatabaseProductName()); System.out.println("Server version: " + meta.getDatabaseProductVersion()); System.out.println("Connection URL: " + meta.getURL()); System.out.println("Login name: " + meta.getUserName()); // Obtaining another connection to SQL Server Connection con2 = DriverManager.getConnection( "jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;" + "user=herong;password=T0pSecret"); // Connection 2 is ready to use DatabaseMetaData meta2 = con2.getMetaData(); System.out.println("Second connection URL: " + meta2.getURL()); } catch (Exception e) { e.printStackTrace(); } } }
Run the above program, you should get:
herong> java -cp .;mssql-jdbc-9.4.1.jre16.jar ConnectionTest4.java Driver name: Microsoft JDBC Driver 9.4 for SQL Server Driver version: 9.4.1.0 Server name: Microsoft SQL Server Server version: 15.00.2000 Connection URL: jdbc:sqlserver://localhost\sqlexpress:60782;... Login name: Herong Second connection URL: jdbc:sqlserver://localhost\SQLEXPRESS:60782;...
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