登録時自動測試刷新ODBC數據源(sql server)避免彈齣輸入用戶名和密碼

2017-08-17 09:22:00
zstmtony
原創
2264

使用Odbc數據源鏈接到Sql server數據庫時,如果用戶名和密碼沒有保存在數據錶的話,則打開鏈接錶時第一次總是會提示要輸入Sql server用戶名和密碼

可以使用下麵的函數,將用戶名和密碼放在代碼中(或從加密的數據錶中讀取用戶名和密碼),這樣就避免彆人知道你的數據庫用戶名和密碼。


Function gt_TestOdbc() As Boolean
On Error GoTo err_c
DoCmd.SetWarnings False

Dim Response As Integer
Dim connstr As String, mydb As DAO.Database
      connstr = "ODBC;" & _
                "DRIVER=SQL Server;" & _
                "SERVER=127.0.0.1,7788;" & _
                "DATABASE=wzk;" & _
                "UID=sa;" & _
                "PWD=admin"

Set mydb = DBEngine.Workspaces(0).OpenDatabase("", False, False, connstr)

gt_TestOdbc = True
Exit Function
err_c:

gt_TestOdbc = False
MsgBox "數據庫用戶,口令錯誤,重新登録!", , "文具"
Exit Function
End Function


但如果用戶名 密碼不對,或Sql server服務器無法連接時,則會彈齣繫統的要求輸入數據庫用戶名和密碼的窗口,
1.刷新鏈接這箇繫統窗口無法禁止的
2.在使用之先先判斷一箇錶是否可連接 ,或先判斷服務器IP是否可PING通.如果不通,基本上就判斷連不到,採取措施
3. 也可在創建之前先用ADO試連接,能連接成功,直接創建鏈接錶,否則,捕穫ado連接錯誤信息,判斷是否服務器不通,併直接提示連接不通,退齣

分享