在ASP中連接數據庫_連接字符串

最近這幾天興趣大發,想試試寶刀,才感覺幾年沒碰程序的我,對程序變的陌生了,互聯網發展迅速的時代快把我這個想當年的程序高手淘汰了,這次再次重拾軟件開發緣於一個朋友讓我幫他整個網站,拿到一個網站源代碼,才知是ASP文件,這個我可是個門外漢,以前做程序時都是用的net技術和java,就連數據庫連接都不會寫了,轉載此頁供大家參考,我試過OK!
一、存取數據庫的原理

在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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章