asp串連資料庫的代碼方法

來源:互聯網
上載者:User

asp串連資料庫的代碼方法

-----access

Dim db,conn,connstr
db="data/bluered.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="DBQ="+server.mappath("db")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'connstr="Driver={microsoft access driver (*.mdb)};DBQ=" & Server.MapPath(db)
'connstr="dsn=bluered;"
conn.open connstr

-----sqlserver

Set conn=Server.CreateObject("ADODB.Connection")
on error resume next
connstr="Provider=SQLOLEDB;Password=***;Persist Security Info=True;User ID=sa;Initial Catalog=msdb;Data Source=localhost;Connect Timeout=15" 
conn.Open connstr

一、ASP的對象存取資料庫方法
在ASP中,用來存取資料庫的對象統稱ADO(Active Data Objects),主要含有三種對象:Connection、Recordset 、Command
Connection:負責開啟或串連資料
Recordset:負責存取資料表
Command:負責對資料庫執行行動查詢命令

二、串連各資料庫的驅動程式
串連各資料庫可以使用驅動程式,也可以使用資料來源,不過我建議大家使用驅動程式,因為使用驅動程式非常方便、簡單,而使用資料來源比較麻煩。

ODBC連結

適合資料庫類型 連結方式 
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;" 
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;" 
Oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;" 
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;" 
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;" 
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;" 
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;" 

OLEDB連結

適合的資料庫類型 連結方式 
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;" 
Oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;" 
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;" 
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'" 

而我們在一般情況下使用Access的資料庫比較多,在這裡我建議大家串連Access資料庫使用下面的方法:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("../db/bbs.mdb")

其中../db/bbs.mdb是你的資料庫存放的相對路徑!如果你的資料庫和ASP檔案在同一目錄下,你只要這樣寫就可以了:

dim conn
set conn = server.createobject("adodb.connection")
conn.open = "provider=microsoft.jet.oledb.4.0;" & "data source = " & server.mappath("bbs.mdb")

有許多初學者在遇到資料庫連接時總是會出問題,然而使用上面的驅動程式只要你的資料庫路徑選對了就不會出問題了。 

解決了ACCESS資料庫路徑的問題!
'採用DBType=0或DBType=1來區分AC庫還是MSSQL庫
'具體採用AC庫時應注意的事項,請看程式說明
Dim DBType,Conn,StrConn
DBType=0        '0為Access資料庫,1為MSSQL資料庫

 

 

If(DBType=0) Then
'********************************ACCESS資料庫*************************************
Dim DbFolderName,DbFolder_Path,SiteFolder
DbFolderName="ArticleData"   '資料庫所在檔案夾名稱
DbFolder_Path = Server.MapPath(DbFolderName)   '資料庫所在路徑
SiteFolder="Article"                    '系統所在根目錄名稱

   If Session("Root") = "" Then 
        Session("Root") = Mid(DbFolder_Path, 1, InStr(1,DbFolder_Path,SiteFolder,1) -1) & SiteFolder 
   End if
   Set Conn = Server.CreateObject("Adodb.Connection")
   StrConn = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Session("Root") & "/"& DbFolderName & "/Data.mdb"  '串連到資料庫
   Conn.Open StrConn
'**********************************************************************************
ElseIf(DBType=1) Then
'*****************************MSSQL SERVER資料庫*************************************
   Dim DBUserID,DBPassWord,DBName,DBIP
   '修改以下資訊以適合你的網站
   DBUserID="sa"  '資料庫登陸名
   DBPassWord=""  '資料庫密碼
   DBName="dbname" '資料庫名稱
   DBIP="local" '資料庫所在地址,如果是本機資料庫則為:(local)

   Set Conn=Server.CreateObject("Adodb.Connection")
   StrConn = "PROVIDER=SQLOLEDB.1;Data Source="&DBIP&";Initial Catalog="&DBName&";Persist Security Info=True;User ID="&DBUserID&";Password="&DBPassWord&";Connect Timeout=30"
   Conn.Open StrConn
'**********************************************************************************
Else
'***********************資料庫設定錯誤*************************************************
   Response.Write"資料庫設定錯誤,請聯絡管理員!"
   Response.End
End If
'Response.Write StrConn

相關文章

聯繫我們

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