使用連線

下載 JDBC 驅動程式

下列各節提供使用 Microsoft JDBC Driver for SQL Server 之 SQLServerConnection 類別,透過不同方式連線到 SQL Server 資料庫的範例。

注意

使用 JDBC 驅動程式連線到 SQL Server 時若發生問題,請參閱疑難排解連線能力,以取得如何更正此問題的建議。

使用 DriverManager 類別建立連線

建立對 SQL Server 資料庫連線最簡單的方式,就是載入 JDBC 驅動程式,然後呼叫 DriverManager 類別的 getConnection 方法,如下所示:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = DriverManager.getConnection(connectionUrl);  

此技術將使用驅動程式清單中第一個可用的驅動程式 (可與指定之 URL 順利進行連接),以建立資料庫連接。

注意

使用 sqljdbc4.jar 類別庫時,應用程式不需要使用 Class.forName 方法來明確註冊或載入此驅動程式。 呼叫 DriverManager 類別的 getConnection 方法時,系統會從已註冊的 JDBC 驅動程式集合中找出適當的驅動程式。 如需詳細資訊,請參閱<使用 JDBC Driver>。

使用 SQLServerDriver 類別建立連線

如果您必須在 DriverManager 的驅動程式清單中指定特定的驅動程式,您可使用 SQLServerDriver 類別的 connect 方法建立資料庫連線,如下所示:

Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();  
String connectionUrl = "jdbc:sqlserver://localhost;encrypt=true;database=AdventureWorks;integratedSecurity=true;"  
Connection con = d.connect(connectionUrl, new Properties());  

使用 SQLServerDataSource 類別建立連線

如果您必須使用 SQLServerDataSource 類別建立連線,您可在呼叫 getConnection 方法之前使用該類別的各種 setter 方法,如下所示:

SQLServerDataSource ds = new SQLServerDataSource();  
ds.setUser("MyUserName");  
ds.setPassword("*****");  
ds.setServerName("localhost");  
ds.setPortNumber(1433);
ds.setDatabaseName("AdventureWorks");  
Connection con = ds.getConnection();  

建立以特定資料來源為目標的連線

如果您必須建立以特定資料來源為目標的資料庫連線,有一些方法可供您採用。 每種方法均視您使用連接 URL 所設定的屬性而定。

若要連線到遠端伺服器上的預設執行個體,請使用下列範例:

String url = "jdbc:sqlserver://MyServer;encrypt=true;integratedSecurity=true;"

若要連線到伺服器上的特定連接埠,請使用下列範例:

String url = "jdbc:sqlserver://MyServer:1533;encrypt=true;integratedSecurity=true;"

若要連線到伺服器上的具名執行個體,請使用下列範例:

String url = "jdbc:sqlserver://209.196.43.19;encrypt=true;instanceName=INSTANCE1;integratedSecurity=true;"

若要連線到伺服器上的特定資料庫,請使用下列範例:

String url = "jdbc:sqlserver://172.31.255.255;encrypt=true;database=AdventureWorks;integratedSecurity=true;"

如需更多連線 URL 範例,請參閱建立連線 URL

建立具有自訂登入逾時的連線

如果您必須調整伺服器負載或網路流量,您可建立具有特定登入逾時值 (以秒計) 的連線,如下列範例所示:

String url = "jdbc:sqlserver://MyServer;encrypt=true;loginTimeout=90;integratedSecurity=true;"

建立具有應用程式層級身分識別的連線

如果您必須使用記錄及分析,您將必須將連線識別為源自特定應用程式,如下列範例所示:

String url = "jdbc:sqlserver://MyServer;encrypt=true;applicationName=MYAPP.EXE;integratedSecurity=true;"

關閉連線

您可呼叫 SQLServerConnection 類別的 close 方法以明確關閉資料庫連線,如下所示:

con.close();

如此將釋放出 SQLServerConnection 物件正在使用的資料庫資源,或將連線傳回共用狀況中的連線集區。

注意

呼叫 close 方法也會回復任何暫止交易。

另請參閱

使用 JDBC 驅動程式連線到 SQL Server