ASP資料庫連接的實現

來源:互聯網
上載者:User
資料|資料庫|資料庫連接 ASP資料庫連接的實現

夏春濤

(解放軍資訊工程大學電子技術學院102教研室,河南 鄭州 450004)

(Email: xct-tom@tom.com)



摘 要:本文給出了ASP中資料庫連接的多種實現方法。

關鍵詞:ASP;ADO;OLE-DB;ODBC;資料庫連接



1 引言



ASP是目前最流行的Web程式設計技術之一,它使用ADO技術對資料庫進行存取。ADO是Microsoft目前主要的資料存取技術,它是Microsoft各種資料存取技術,如ODBC、DAO、RDO、OLE-DB演化發展的結果。

ADO是封裝了OLE-DB複雜介面的COM對象,它以極為簡單的COM介面來存取各種不同的資料。圖2是ADO資料存取的架構圖。從圖中可以看出,ADO可以直接藉由OLE-DB來存取不同資料來源的資料,也可以間接籍由ODBC來存取關係型資料來源的資料。本文針對這兩種方式初步探討ASP應用程式中資料庫連接的實現。



















圖 1 ADO資料存取架構

Application/Browser
ADO
OLE-DB
ODBC
SQL Data
Non SQL Data
Mainframe and

Legancy Data



























2 Connection對象



ADO中的Connection對象代表與底層資料供應程式的一個串連,它保持著資料供應程式的資訊。在ASP應用環境下,Connection對象代表從Web伺服器到資料庫伺服器的一個串連。Connection對象調用Open方法來實現與資料庫的串連,它的文法如下:

Connection.Open [ConnectionString],[UserID],[Password],[Options]

Open方法的參數及說明如表1:



表 1 Open方法的參數及說明



參 數
說 明

ConnectionString
包含串連細節的字串。可以是ODBC DSN的名稱、資料連結檔案的名稱或真實的串連細節。選擇性參數。

UserID
串連期間,使用者使用的名字。覆蓋連接字串中提供的任何使用者名稱。選擇性參數。

Password
使用者的口令。覆蓋連接字串中提供的任何口令。選擇性參數。

Options
可以是adAsyncConnect,指定非同步地建立串連。忽略這個參數,則建立一個同步串連。註:因為指令碼語言不能接收來自ADO的事件,所以非同步串連不用於ASP環境,一般忽略這個參數。




從表1可以看出, Open方法實現與資料庫連接的關鍵,是給出正確的ConnectionString。以下以SQL Server2000資料庫為例,給出各種串連方式下的ConnectionString。



3 OLE-DB串連方式



3.1 字串方式

ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;

UID=YourUid; PWD=YourPwd; Database=YourDB"



ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;

User ID=YourUid; Password=YourPwd; Initial Catalog=YourDB"

其中,Provider為服務於串連的底層OLE-DB資料供應程式的名稱;Data Source為服務於底層資料供應程式的資料來源名稱;UID或User ID為串連時使用的使用者名稱;PWD或Password為串連時使用的密碼;Database或Initial Catalog為位於資料庫伺服器上的一個特定資料庫。

3.2 資料連結檔案方式

建立一個空文字檔,將其副檔名改為.udl來建立一個資料連結檔案。雙擊該檔案開啟Data Link Properties對話方塊,在Provider頁選擇提供者(不要選擇基於ODBC的提供者,因為這樣實際上是間接藉由ODBC實現資料庫連接),在Connection頁指定實現串連的細節。使用資料連結檔案進行串連的ConnectionString如下:

ConnectionString="File Name=C:\YourFile.udl"

用記事本開啟資料連結檔案,可以看到第三行文本是一個連接字串,指定了串連的細節。如果在Connection頁選中了“Allow saving password”,則在該檔案中也會記錄使用者的密碼資訊。



4 ODBC串連方式



使用ODBC串連方式,首先要配置ODBC資料來源。ODBC資料來源配置成功後,就可以相應指定下面介紹的連接字串進行資料庫連接。

4.1 ODBC的系統DSN串連方式

ConnectionString="DSN=SysDSNName;UID=YourUid;PWD=YourPwd;Database=YourDB"

其中,DSN為系統DSN的名稱,其它參數與3.1中介紹的參數相同。

4.2 ODBC的檔案DSN串連方式

ConnectionString="FileDSN=FileDSNName;UID=YourUid;PWD=YourPwd;Database=YourDB"

其中,FileDSN為檔案DSN的名稱,其它參數與3.1中介紹的參數相同。

用記事本開啟相應的.dsn檔案(一般位於C:\Program Files\Common Files\ODBC\Data Sources目錄下),可以看到,類似於資料連結檔案,該檔案中也指定了串連的細節。

4.3 ODBC的無DSN串連方式

ConnectionString="Driver={SQL Server};Server=YourServer;

UID=YourUid;PWD=YourPwd;Database=YourDB")

此方式不用配置ODBC資料來源。其中,Driver為ODBC驅動程式名稱,Server為資料庫伺服器名稱,其它參數與3.1中介紹的參數相同。

4.4 資料連結檔案方式

首先,採用3.2中的方法建立資料連結檔案。但進行檔案配置時,在Provider頁中選擇基於ODBC的提供者——Microsoft OLE DB Provider for ODBC Drivers。此方式的ConnectionString與3.2中介紹的相同。



5 執行個體



下面是採用OLE-DB的字串方式,串連到SQL Server2000資料庫的範例程式碼:

<%

ConnectionString="Provider=SQLOLEDB.1; Data Source=YourSrc;

UID=YourUid; PWD=YourPwd; Database=YourDB";初始化連接字串

Set Conn=Server.CreateObject("ADODB.Connection") ;建立Connection對象

Conn.Open ConnectionString ;調用Open方法,建立串連

… ;進行資料存取操作

Conn.Close ;關閉串連

Set Conn=Nothing ;釋放Connection對象

%>

需要注意的是,應儘可能晚的建立串連,同時又儘可能早的關閉串連,這樣保證串連開啟的時間最短,可以充分發揮OLE-DB的串連緩衝池的作用,節省串連資源;另外,在實際應用中,為避免在每個ASP頁面中都輸入ConnectionString中的串連細節(這會給程式維護帶來麻煩),一般使用包含檔案或串連狀態來儲存ConnectionString,方法如下。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.