ASP通過ODBC串連SQL Server 2008資料庫的方法_應用技巧

來源:互聯網
上載者:User

建立資料庫連接檔案【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

  1. 在“建立新資料來源”對話方塊中,從列表框選擇“Microsoft Access Driver”,然後單擊“下一步”。
  2. 鍵入您的 DSN 檔案名稱,然後單擊“下一步”。
  3. 單擊“完成”建立資料來源。
  4. 在“ODBC Microsoft Access 97 安裝程式”對話方塊中,單擊“選擇”。選擇 Microsoft Access 資料庫檔案 (*.mdb),然後單擊“確定”。

注意   由於效能和可靠性的原因,我們極力推薦您使用“客戶-伺服器資料庫引擎”配置由這樣一種 Web 應用程式驅動的資料,這些 Web 應用程式必須滿足 10 個以上的使用者的同時訪問。儘管 ASP 可以使用任何 ODBC 相容的資料庫,但它是為使用客戶-伺服器資料庫而設計的,而且經過了嚴格的測試,這些資料庫包括 Microsoft ® SQL ServerOracle 等。

ASP 支援共用檔案資料庫(如 Microsoft ® Access Microsoft ® FoxPro)作為有效資料來源。儘管在 ASP 文檔中的一些樣本使用共用檔案資料庫,但我們建議只將此類資料庫引擎用於開發或有限的配置方案。共用檔案資料庫可能無法很好地適用於可滿足高需求、高品質的 Web 應用程式的客戶-伺服器資料庫。

 

配置 SQL Server 資料庫檔案 DSN

注意   如果資料庫駐留在遠程伺服器上,請與伺服器管理員聯絡,擷取附加的配置資訊;下面的過程使用 SQL Server 的 ODBC 預設的設定,它可能不適用於您的硬體設定。

  1. 在“建立新資料來源”對話方塊中,從列表框中選擇“SQL Server”,然後單擊“下一步”。
  2. 鍵入 DSN 檔案的名稱,然後單擊“下一步”。
  3. 單擊“完成”建立資料來源。
  4. 鍵入運行 SQL 服務程式的伺服器的名稱、登入 ID 和密碼。
  1. 在“建立 SQL Server 的新資料來源”對話方塊中,在“伺服器”列表框中鍵入包含 SQL Server 資料庫的伺服器的名稱,然後單擊“下一步”。
  1. 選擇驗證登入 ID 的方式。
  1. 如果要選擇 SQL 伺服器驗證,請輸入一個登入 ID 和密碼,然後單擊“下一步”。
  2. 在“建立 SQL Server 的新資料來源”對話方塊中,設定預設資料庫、預存程序設定的驅動程式和 ANSI 標識,然後單擊“下一步”。(要擷取詳細資料,請單擊“協助”。)
  3. 在對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇一種字元轉換方法,然後單擊“下一步”。 (詳細資料,請單擊“協助”。)
  4. 在下一個對話方塊(同樣名為“建立 SQL Server 的新資料來源”)中,選擇登入設定。
    注意   典型情況下, 您只能使用日誌來調試資料庫訪問問題。
  5. 在“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 的電腦上。詳細資料,請與伺服器管理員聯絡或參閱資料庫軟體文檔。

  1. 在“建立新資料來源”對話方塊中,從列表框中選擇“Microsoft ODBC for Oracle”,然後單擊“下一步”。
  1. 鍵入 DSN 檔案的名稱,然後單擊“下一步”。
  1. 單擊“完成”建立資料來源。
  1. 輸入使用者名稱、密碼和伺服器名,然後單擊“確定”。

注意   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         '通過迴圈擷取所有返回記錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.