配置連接控制代碼
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW)
應用程式必須先配置連接句柄,應用程式才能連線到數據源或驅動程式。 這是藉由呼叫 SQLAllocHandle ,並將 HandleType 參數設定為 SQL_HANDLE_DBC,而 InputHandle 指向初始化的環境句柄。
連接的特性是藉由設定連接屬性來控制。 例如,因為交易發生在連接層級,所以交易隔離等級是連接屬性。 同樣地,登入逾時或嘗試在逾時之前嘗試連線時等待的秒數,是連接屬性。
連接屬性是使用 SQLSetConnectAttr 來設定,而其目前設定會使用 SQLGetConnectAttr 來擷取。 如果在 嘗試連接之前呼叫 SQLSetConnectAttr,ODBC 驅動程式管理員會將屬性儲存在其連接結構中,並在驅動程式中設定它們做為連接程式的一部分。 在應用程式嘗試連線之前,必須先設定某些連接屬性;其他可以在連線完成之後設定。 例如,必須先設定SQL_ATTR_ODBC_CURSORS,才能建立連線,但在連接之後可以設定SQL_ATTR_AUTOCOMMIT。
針對 SQL Server 7.0 版或更新版本執行的應用程式有時會藉由重設表格式資料流 (TDS) 網路封包大小來改善其效能。 默認封包大小設定於伺服器,為 4 KB。 封包大小 4 KB 到 8 KB 通常可提供最佳效能。 如果測試顯示它以不同的封包大小執行得更好,應用程式可以重設封包大小。 ODBC 應用程式可以先執行這項操作,再呼叫 SQLSetConnectAttr 搭配 SQL_ATTR_PACKET_SIZE 選項進行連線。 某些應用程式會以較大的封包大小執行得更好,但對於大於 8 KB 的封包大小,效能改善通常最小。
SQL Server Native Client ODBC 驅動程式有一些擴充連接屬性,應用程式可用來增加其功能。 其中一些屬性會控制可在數據源中指定且用來覆寫數據源中設定之任何選項的相同選項。 例如,如果應用程式使用引號標識符,它可以將驅動程式特定屬性SQL_COPT_SS_QUOTED_IDENT設定為SQL_QI_ON以確保無論數據源中的設定為何,都一律設定此選項。