|
使用本文前述的方法與特性,您可存取ODBC資料庫的資料,例如SQL伺服器。存取ODBC資料庫裡的資料,類似存取其他外部資料來源的程序。以下便是在使用ODBC資料時,應特別注意的事項與範例。
設定
在您存取使用Microsoft Access的外部ODBC資料來源時,您可能必需先在您的工作站設定以下項目:
資料來源名稱
驅動程式與其他相關軟體
暫停值
資料來源名稱
如同本文前述,每筆ODBC資料來源藉由\HKEY_CURRENT_USER\Software\ODBC\ODBC.INI registry key下的子索引確認。包括網路位置、驅動程式與屬性,外部資料來源的每個ODBC.INI key下之資料來源名稱的subkey可定義外部資料來源的連結資訊。
欲新增資料名稱至您的ODBC.INI key,您可使用視窗控制臺中ODBC的選項、ODBC應用程式管理員(如果您是使用Microsoft Windows 3.0版),或是DBEngine 物件的 RegisterDatabase 方式。
使用ODBC選項新增資料來源名稱
從內含控制台的程式管理員群組中,雙擊控制台圖示。
從控制台視窗,雙擊ODBC圖示
按下新增鈕
遵循螢幕上的指示,若在完成對話方塊上需要幫助,請按說明鈕。
使用RegisterDatabase方式,新增資料來源名稱
使用下列語法:
DBEngine.RegisterDatabase dsn, driver, silent, attributes
RegisterDatabase引數如下:
引數 敘述
dsn 新增資料來源名稱的控制項(例如,SQLTEST),dsn通常是伺服器的名稱。
驅動程式 使用ODBC驅動程式的控制項(例如,SQL Server),注意,驅動程式的引數便是驅動程式的名稱,而非DLL檔案的名稱(所以您會使用”SQL Server”而不是”SQLSRVR.DLL”)。以RegisterDatabase新增一使用特殊驅動程式的資料來源名稱,您必需先安裝ODBC與該驅動程式。
隱藏 如果您不想顯示ODBC驅動程式的對話方塊(驅動程式規格的提示),Boolean值是真的﹔反之,Boolean值是假的。如果隱藏是真的,則其屬性必須具備全部應有的驅動程式規格的資訊。
屬性 關鍵字清單的控制項用以新增至OBDC.INI檔案。清單中的每個關鍵字均以輸入鍵符號分隔。如果資料庫已在OBDC.INI檔案中註冊的話,輸入便是最新的。如果RegisterDatabase登錄失敗,將無法更改OBDC.INI檔案,並會產生錯誤。
以下便示範如何使用 RegisterDatabase 方式在伺服器PTLUDLOW的SQL Server上新增資料來源名稱。
Dim Attribs As String
' Build keywords string.
Attribs = "Description=SQL Server on server PtLudlow" & vbCr
Attribs = Attribs & "OemToAnsi=No" & vbCr
Attribs = Attribs & "Server=PtLudlow" & vbCr
Attribs = Attribs & "Database=NWIND"
' Update ODBC.INI.
DBEngine.RegisterDatabase "tLudlow", "SQL Server", True, Attribs
注意:當您為SYBASE SQL Server或是選項單上的Microsoft SQL Server新增資料來源名稱時,除了伺服器引數外,還必需將網路及地址引數內含在關鍵字清單。例如:
Attribs= Attribs & Network=DBNMP3 & vbCr
Attribs= Attribs & Address="\\PTLUDLOW\PIPE\ALT\QUERY" & vbC
使用Windows控制台中的ODBC選項或是ODBC管理員應用程式(Windows 3.0版的使用者),可確認輸入是否已新增。
驅動程式與其他相關軟體
當您在ODBC資料庫中存取資料表時,Microsoft Access使用ODBC驅動程式。要能連結ODBC資料庫,必需先安裝適當的驅動程式與DLL檔案。透過執行ODBC安裝程式,可以為資料庫安裝適當的ODBC驅動程式。以Microsoft Access所附的ODBC磁片上的安裝程式,您亦可為SQL Server安裝驅動程式。
注意:ODBC驅動程式必需相容於Level 1。
在您安裝ODBC驅動程式後,隨時可透過使用Windows控制台中的ODBC選項或是ODBC管理員應用程式(Windows 3.0版的使用者),來改變ODBC驅動程式的資訊。
欲知更多資訊,請在Help搜尋“ODBC驅動程式”。
更多資訊
欲知 SQL Server 驅動程式的更多資訊,見於\Windows\System資料夾下Drvssrvr.hlp說明檔。
暫停值
在連結ODBC資料庫與存取外部ODBC資料庫的查詢方面,Microsoft Access有二種暫停值屬性提供您設定暫停值。
LoginTimeout
Microsoft Access等待外部ODBC伺服器回應連結要求的秒數指示。預設暫停為20秒太過短暫,因此這項功能特別有用。當您使用靠數據機、遠距bridges傳輸的區域網路或是網路、伺服器在所分配的時間內隔離下載,設定較長時間的暫停值是必要的。若暫停值設定為0,則表示將不會有暫停發生。
使用DBEngine LoginTimeout屬性,設定登錄暫停值。範例如下,
DBEngine.LoginTimeout = 60
如果想要針對不同資料庫設定不同的登錄暫停值,您可在撥號與OpenDatabase間,改變LoginTimeout屬性。
QueryTimeout或ODBCTimeout。
Microsoft Access等待外部ODBC伺服器完成查詢的秒數指示。在查詢暫停後,外部伺服器會被告知停止查詢,您的應用程式也會收到錯誤訊息。此時,您可再次提出查詢或告知使用者處理動作無法完成。
如果您的ODBC伺服器自動支援這項功能,當外部伺服器因過度使用或連結問題而 |
|