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

解決 SQL Server 客戶端連線 DLL 地獄:最精簡部署清單與腳本

     編輯:關於SqlServer

打包應用程式部署至客戶端時,常因缺少正確的 SQL Server 連線 DLL 導致「無法連線伺服器」。本文整理經實測可行的最精簡檔案清單、註冊表設定與自動部署批次檔,適用 PB/VC/VB 等開發工具。

核心 DLL 清單(僅 4 個檔案即可運作)

dbnmpntw.dll      -- Named Pipes Net-Library
dbmssocn.dll      -- TCP/IP Sockets Net-Library
dbnetlib.dll      -- Network Library Router
ntwdblib.dll      -- DB-Library (舊版相容,部分驅動仍需)

將上述 4 檔置於應用程式同目錄(App.Path)即可,**無需註冊、無需安裝客戶端工具、無需修改註冊表**,經測試 Windows 98 至 Windows 10 皆可運作。

完整相依清單(含 PB VM 與 ODBC 驅動)

類別檔案
PowerBuilder VMpbvm80.dll, pbdwe80.dll, pbmss80.dll, pbrtc80.dll, pbtra80.dll, pbsyc80.dll, pbodb80.dll, pbdwo80.dll, pbdwp80.dll
SQL 連線驅動dbnetlib.dll, dbnmpntw.dll, ntwdblib.dll, dbmssocn.dll, windbver.exe
libjcc.dll, libjotsclnt.dllJava 相關(視專案需求)

自動部署批次檔 DeploySQLClient.bat

@echo off
REM 將本批次檔與所有 DLL 放同一目錄執行
set DEST=%SystemRoot%\System32
copy /Y *.dll %DEST%\
REM 可選:寫入註冊表指定預設 TCP/IP 連線
reg add "HKLM\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo" /v "MyServer" /t REG_SZ /d "DBMSSOCN,ServerName,1433" /f
echo 部署完成,請測試連線。
pause

連線字串建議

Provider=SQLOLEDB;Data Source=ServerName,1433;Initial Catalog=DBName;User ID=sa;Password=****;
-- 或 ODBC
Driver={SQL Server};Server=ServerName,1433;Database=DBName;Uid=sa;Pwd=****;

關鍵提醒:若伺服器啟用強制加密或 TLS 1.2,舊版 dbnetlib.dll (SQL 2000 時代) 可能不支援,建議改用 SQL Native Client (SNAC) 或 ODBC Driver 17/18 for SQL Server。

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