在ASP中串連資料庫(連接字串)

來源:互聯網
上載者:User
串連資料庫|字串 一、存取資料庫的原理

在ASP中,用來存取資料庫的對象統稱ADO對象(Active Data Objects),主要含有三種對象:Connection、Recordset和Command,其中Connection負責開啟或串連資料庫,Recordset負責存取資料表,Command負責對資料庫執行行動查詢(Action Query)命令和執行SQL Server的Stored Procedure。只依靠這三個對象還是無法存取資料庫的,還必須具有資料庫存取的驅動程式:OLE DB驅動程式和ODBC驅動程式。對於任何一種資料庫都必須有相對應的OLE DB驅動程式和ODBC驅動程式,ADO對象才能對資料庫進行存取。

ADO對象必須與各種驅動程式相結合才能存取各種類型資料庫,不同的資料庫需要不同的驅動程式。在Windows 9x/NT的“開始”→“設定”→“控制台” →“ODBC Data Source(32Bit)”中的“驅動程式”標籤頁,可以查證機器上究竟裝了哪些驅動程式。

二、串連資料庫和開啟資料表

不同資料庫的串連方法有所不同(即建立Connection執行個體的方法不一樣),但建立Connection執行個體後,利用Recordset對象進行存取資料的方法卻大同小異。下面對於不同的資料類型,編寫了相對應的串連函數,在程式中直接引用即可。

程式用VB Script指令碼語言編寫。

1.建立MdbRecordset對象。MDB資料庫是一個完整的資料庫,內部可能含有若干個資料表,在此函數中,Connection的作用是串連資料庫,Recordset的作用是開啟資料表。

Function CreateMdbRecordset(資料庫檔案名, 資料表名或Select語句 )
  Dim conn,Provider,DBPath
  ’建立Connection 對象
  Set conn = Server.CreateObject(“ADODB.Connection”)
  Provider=“Provider=Microsoft.Jet.OLEDB.4.0;”
  DBPath = “Data Source=” & Server.MapPath(“資料庫檔案名”)
  ’開啟資料庫
  conn.Open Provider & DBPath
  Set CreateMdbRecordset = Server.CreateObject(“ADODB.Recordset”)
  ’開啟資料表
  CreateMdbRecordset.Open “資料表名”, conn, 2, 2
End Function

2.建立帶密碼的MDB資料庫的Recordset對象。它的建立方式與建立不帶密碼的MDB資料庫的Recordset對象類似,只是多了一個密碼參數,即在與資料庫連接時,必須給出密碼資訊。

Function CreateSecuredMdbRecordset( 資料庫檔案名, 資料表名或Select語句,password )
 Dim conn,Provider,DBPath
 ’建立Connection 對象
 Set conn = Server.CreateObject(“ADODB.Connection”)
 Provider = “Provider=Microsof.Jet.OLEDB.4.0;”
 DBPath = “Data Source=”& Server.MapPath(“資料庫檔案名”)
 ’串連資料庫,注意要帶有密碼參數
 conn.Open Provider & DBPath&“Jet OLEDB:Database Password=”&assword
 Set CreateSecuredMdbRecordset = Server.
 CreateObject(“ADODB.Recordset”)
 ’開啟資料表
 CreateSecuredMdbRecordset.Open “資料表名”, conn, 2, 2
End Function

3.DBF檔案不是一個標準的資料庫檔案,只相當於標準資料庫檔案中的一個資料表,所以為了使用DBF檔案,可以把所有的DBF檔案放在一個目錄下,這樣把目錄名看成標準資料庫,每一個DBF檔案相當於標準資料庫中的資料表。下面函數中的Directory是DBF所在的目錄名。

Function CreateDbfRecordset( 目錄名, DBF檔案名稱或Select語句 )
 Dim conn,Driver,SourceType,DBPath
 ’建立Connection 對象
 Set conn = Server.CreateObject(“ADODB.Connection”)
 Driver=“Driver={Microsoft Visual FoxProDriver};” SourceType = “SourceType=DBF;”
 DBPath=“SourceDB=” & Server.MapPath(“目錄名”)
 ’調用Open 方法開啟資料庫
 conn.Open Driver & SourceType & DBPath
 Set CreateDbfRecordset = Server.CreateObject(“ADODB.Recordset”)
 ’開啟DBF檔案
 CreateDbfRecordset.Open “DBF檔案名稱或Select語句”, conn, 2, 2
End Function

4.由FoxPro產生的DBC資料庫與MDB資料庫相似,都是一個資料庫包含幾個資料表的形式,所以對DBC資料庫的存取方法與MDB資料庫相似。

Function CreateDbcRecordset( DBC資料庫檔案名, 資料表名或Select語句 )
 Dim conn,Driver,SourceType,DBPath
 ’建立Connection 對象
 Set conn = Server.CreateObject(“ADODB.Connection”)
 Driver=“Driver={Microsoft Visual FoxPro Driver};”
 SourceType = “SourceType=DBC;”
 DBPath = “SourceDB=” & Server.MapPath(“DBC資料庫檔案名”)
 ’串連資料庫
 conn.Open Driver & SourceType & DBPath
 Set CreateDbcRecordset = Server.CreateObject(“ADODB.Recordset”)
 ’開啟資料表
 CreateDbcRecordset.Open“資料表名或Select語句”, conn, 2, 2
End Function

5.將Excel產生的XLS檔案(book)看成一個資料庫,其中的每一個工作表(sheet)看成一個資料庫表。

Function CreateExcelRecordset(XLS檔案名稱,Sheet名)
 Dim conn.Driver,DBPath
 ’建立Connection對象
 Set conn = Server.CreateObject(“ADODB.Connection”)
 Driver=“Driver={Microsoft Excel Driver (*.xls)};”
 DBPath = “DBQ=” & Server.MapPath(“XLS檔案名稱”)
 ’調用Open 方法開啟資料庫
 conn.Open Driver & DBPath
 Set CreateExcelRecordset = Server.CreateObject(“ADODB.Recordset”)
 ’開啟Sheet
 CreateExcelRecordset.Open “Select * From [”&sheet&“$]”, conn, 2, 2
End Function

6.SQL Server屬於Server級的資料庫,使用時要求比較嚴格,必須要輸入使用者名稱及密碼才能使用。

Function CreateSQLServerRecordset(電腦名稱,使用者ID, 使用者密碼,資料庫名稱 資料表或查看錶或Select指令 )
 Dim Params, conn
 Set CreatSQLServerConnection = Nothing
 Set conn = Server.CreateObject (“ADODB.Connection”)
 Params = “Provider=SQLOLEDB.1”
 Params = Params & “;Data Source=” & Computer
 Params = Params & “;User ID=” & UserID
 Params = Params & “;Password=” & Password
 Params = Params & “.Initial Catalog=”&資料庫名稱
 Conn open Paras
 Set CreateSQLServerRecordset = Server. CreateObject(“ADODB.Recordset")
 CreateSQLServerRecordset.Open source, conn, 2, 2
End Function



相關文章

聯繫我們

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