建立資料庫連接檔案【dsn檔案】的方法
建立 ODBC DSN 檔案
在建立資料庫指令碼之前,必須提供一條使 ADO 定位、標識和與資料庫通訊的途徑。資料庫驅動程式使用 Data Source Name (DSN) 定位和標識特定的 ODBC 相容資料庫,將資訊從 Web 應用程式傳遞給資料庫。典型情況下,DSN 包含資料庫配置、使用者安全性和定位資訊,且可以擷取 Windows NT 登錄機碼中或文字檔的表格。
通過 ODBC,您可以選擇希望建立的 DSN 的類型:使用者、系統或檔案。使用者和系統 DSN 儲存在 Windows NT 註冊表中。系統 DSN 允許所有的使用者登入到特定的伺服器上去訪問資料庫,而使用者 DSN 使用適當的安全身份證明限制資料庫到特定使用者的串連。檔案 DSN 用於從文字檔中擷取表格,提供了對多使用者的訪問,並且通過複製 DSN 檔案,可以輕易地從一個伺服器轉移到另一個伺服器。由於以上原因,本主題中的樣本將使用檔案 DSN。
通過在 Windows 的“開始”菜單開啟“控制台”,您可以建立基於 DSN 的檔案。雙擊“ODBC”表徵圖,然後選擇“檔案 DSN”屬性頁面,單擊“添加”,選擇資料庫驅動程式,然後單擊“下一步”。按照後面的指示配置適用於您的資料庫軟體的 DSN。
配置 Microsoft Access 資料庫的檔案 DSN
- 在“建立新資料來源”對話方塊中,從列表框選擇“Microsoft Access Driver”,然後單擊“下一步”。
- 鍵入您的 DSN 檔案名稱,然後單擊“下一步”。
- 單擊“完成”建立資料來源。
- 在“ODBC Microsoft Access 97 安裝程式”對話方塊中,單擊“選擇”。選擇 Microsoft Access 資料庫檔案 (*.mdb),然後單擊“確定”。
注意 由於效能和可靠性的原因,我們極力推薦您使用“客戶-伺服器資料庫引擎”配置由這樣一種 Web 應用程式驅動的資料,這些 Web 應用程式必須滿足 10 個以上的使用者的同時訪問。儘管 ASP 可以使用任何 ODBC 相容的資料庫,但它是為使用客戶-伺服器資料庫而設計的,而且經過了嚴格的測試,這些資料庫包括 Microsoft ® SQL Server、Oracle 等。
ASP 支援共用檔案資料庫(如 Microsoft ® Access 或 Microsoft ® FoxPro)作為有效資料來源。儘管在 ASP 文檔中的一些樣本使用共用檔案資料庫,但我們建議只將此類資料庫引擎用於開發或有限的配置方案。共用檔案資料庫可能無法很好地適用於可滿足高需求、高品質的 Web 應用程式的客戶-伺服器資料庫。
配置 SQL Server 資料庫檔案 DSN
注意 如果資料庫駐留在遠程伺服器上,請與伺服器管理員聯絡,擷取附加的配置資訊;下面的過程使用 SQL Server 的 ODBC 預設的設定,它可能不適用於您的硬體設定。
- 在“建立新資料來源”對話方塊中,從列表框中選擇“SQL Server”,然後單擊“下一步”。
- 鍵入 DSN 檔案的名稱,然後單擊“下一步”。
- 單擊“完成”建立資料來源。
- 鍵入運行 SQL 服務程式的伺服器的名稱、登入 ID 和密碼。
- 在“建立 SQL Server 的新資料來源”對話方塊中,在“伺服器”列表框中鍵入包含 SQL Server 資料庫的伺服器的名稱,然後單擊“下一步”。
- 選擇驗證登入 ID 的方式。
- 如果要選擇 SQL 伺服器驗證,請輸入一個登入 ID 和密碼,然後單擊“下一步”。
- 在“建立 SQL Server 的新資料來源”對話方塊中,設定預設資料庫、預存程序設定的驅動程式和 ANSI 標識,然後單擊“下一步”。(要擷取詳細資料,請單擊“協助”。)
- 在對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇一種字元轉換方法,然後單擊“下一步”。 (詳細資料,請單擊“協助”。)
- 在下一個對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇登入設定。
注意 典型情況下, 您只能使用日誌來調試資料庫訪問問題。
- 在“ODBC Microsoft SQL Server 安裝程式”對話方塊中,單擊“測試資料來源”。如果 DSN 正確建立,“測試結果”對話方塊將指出測試成功完成。
SQL server 串連和安全資訊
如果您正在開發用於串連遠程 SQL Server 資料庫的 ASP 資料庫應用程式,應考慮以下問題:
- 串連方案- 您可以選擇 TCP/IP 通訊端和具名管道的方法訪問遠端 SQL Server 資料庫。當使用具名管道時,因為在建立串連之前,資料庫使用者必須被 Windows NT 確認,所以對只有適當的 SQL Server 訪問身份而在該電腦上沒有 Windows NT 使用者帳號的使用者可能會被拒絕訪問具名管道。作為一種替代方案,使用 TCP/IP 通訊端的串連可直接連接到資料庫伺服器,而不必通過使用具名管道的中間電腦。因為使用 TCP/IP 通訊端串連可直接連接到資料庫 server,所以通過 SQL Server 的確認,使用者就可以獲得訪問權,而不必通過 Windows NT 的確認。
注意 在串連到遠端資料庫時使用 TCP/IP 通訊端可提高效能。
- 安全性 - 如果您使用 SQL Server 的 整合或混合安全特性,並且 SQL Server 資料庫位於遠程伺服器上,則不能使用 Windows NT 請求/響應的確認。也就是說,不能將 Windows NT 請求/響應身份證轉寄到遠端電腦上,而只能使用基本驗證,它根據使用者提供使用者名稱和口令資訊進行。
有關這一主題的詳細資料,請參閱http://www.microsoft.com/sqlsupport/
上的 Microsoft SQL Server 支援人員首頁。
配置 Oracle 資料庫檔案 DSN
首先要確保 Oracle 使用者軟體被正確地安裝要建立 DSN 的電腦上。詳細資料,請與伺服器管理員聯絡或參閱資料庫軟體文檔。
- 在“建立新資料來源”對話方塊中,從列表框中選擇“Microsoft ODBC for Oracle”,然後單擊“下一步”。
- 鍵入 DSN 檔案的名稱,然後單擊“下一步”。
- 單擊“完成”建立資料來源。
- 輸入使用者名稱、密碼和伺服器名,然後單擊“確定”。
注意 DSN 檔案用 .dsn 副檔名,位於 \Programs\Common Files\ODBC\Data Sources 目錄中。
有關建立 DSN 檔案的詳細資料,請訪問 Microsoft ODBC Web 網站:http://microsoft.com/odbc/。
====================================================
訪問資料庫資訊的第一步是和資料庫源建立串連。ADO 提供 Connection 對象,可以使用該對象建立和管理應用程式和 ODBC 資料庫之間的串連。Connection 對象具有各種屬性和方法,可以使用它們開啟和關閉資料庫連接,並且發出查詢請求來更新資訊。
要建立資料庫連接,首先應建立 Connection 對象的執行個體。例如,下面的指令碼建立 Connection 對象,接著開啟資料庫連接:
<% 'Create a connection object Set cn = Server.CreateObject("ADODB.Connection") 'Open a connection; the string refers to the DSN cn.Open "FILEDSN=MyDatabase.dsn"%>
注意 無論在等號 (=) 之前還是之後,DSN 字串都不能包含空格。
在這種情況下,Connection 對象的 Open 方法引用基於 DSN 的檔案,其中包含關於資料庫的位置和配置資訊。也可以不引用 DSN,直接顯式引用供應程式、資料來源、使用者識別碼 和密碼。
串連過程
<% Set cn = Server.CreateObject("ADODB.Connection") '建立資料庫連接對象 Set rsCustomers = Server.CreateObject("ADODB.Recordset") '建立資料庫查詢對象 cn.Open "FILEDSN=SQLlink.dsn" '開啟資料庫 strSQL = "SELECT username,password FROM [myDatabase].[dbo].[user] where username='duguying'" rsCustomers.Open strSQL, cn '運行SQL語句%>
處理資料庫返回資料
Set username1= rsCustomers("username") '擷取username欄位的返回結果 Set password1= rsCustomers("password") '擷取password欄位的返回結果 Do Until rsCustomers.EOF Response.Write username1 & " " & password1 & "<BR>" rsCustomers.MoveNext Loop '通過迴圈擷取所有返回記錄