程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP通過ODBC連接SQL Server 2008數據庫的方法

ASP通過ODBC連接SQL Server 2008數據庫的方法

編輯:關於ASP編程

創建數據庫連接文件【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 Server、Oracle 等。

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,直接顯式引用供應程序、數據源、用戶 ID 和密碼。

連接過程

<%
 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         '通過循環獲取所有返回記錄
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved