首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server / Access 連接字串速查表:OLE DB、ODBC、DSN-less 完整範例

     編輯:關於SqlServer

ASP/VBScript 經典連接字串集合

SQL Server - OLE DB (推薦、效能最佳)

<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=ServerName;UID=user;PWD=pass;DATABASE=DbName"
%>
  • DATA SOURCE:IP、主機名、IP,Port、.\InstanceName
  • Integrated Security=SSPI:Windows 整合驗證 (取代 UID/PWD)
  • Application Name=MyApp:識別連接來源,利於追蹤

Access - OLE DB (Jet 4.0)

<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\Path\Db.mdb"
%>

Access - ODBC DSN-less

<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\Path\Db.mdb"
%>

Access - 檔案 DSN

<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "FILEDSN=MyFileDSN"
%>

.dsn 檔案內容:[ODBC]\nDRIVER=...\nDBQ=...

進階參數與最佳實踐

參數用途範例值
Connection Timeout連線等待秒數15
Command Timeout命令執行逾時 (ADO Command/Connection 屬性)300
Persist Security Info是否在連接物件保留密碼False (安全)
Pooling連接池啟用 (OLE DB 預設開啟)True
Min Pool Size / Max Pool Size池大小範圍0 / 100

.NET (ADO.NET) 連接字串對照

// SQL Server (SqlClient)
"Server=ServerName;Database=DbName;User ID=user;Password=pass;Connect Timeout=15;Pooling=true;Max Pool Size=100;Application Name=MyApp"

// SQL Server (整合驗證)
"Server=ServerName;Database=DbName;Integrated Security=SSPI;"

// Access (OleDb)
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Path\Db.mdb;Persist Security Info=False"

// Access 2007+ (ACE)
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\Db.accdb;Persist Security Info=False"

常見問題排查

  • 「找不到提供者」:64 位元 IIS 應用程式集區啟用「啟用 32 位元應用程式」或安裝 64 位元 ACE/Jet Provider
  • 「無法開啟資料庫」**:檔案路徑錯誤、ASPNET/IIS_IUSRS 無讀寫權限、檔案被獨佔鎖定
  • 連線池耗盡:Pooling=true 確保 Connection.Close() / Dispose() 正確釋放

結語

連接字串是應用程式與資料庫的橋樑。**OLE DB (SQLOLEDB/JET/ACE) 為首選**,DSN-less 避免伺服器配置依賴,檔案 DSN 利於集中管理。掌握核心參數、安全性設定與跨平台 (32/64 位元) 部署細節,能消除 90% 的連線失敗案例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved