ASP連結資料庫的語法
作者: 大笨貓 日期: 2006-03-28 10:26
ASP連結資料庫有很多種方法。由於不同類型的資料庫,所以我們需要用各自的連結語法來產生對資料庫的連接。
在自己的電腦,我們可以使用DSN(Data Source Name)來連接,方法是在控制台設定ODBC 連線,再在ASP用該DSN作開啟即可。但在一些免費空間,我們則須用DSN-less的方式連接資料庫,我們要在ASP中列出驅動程式名稱及資料庫位置。
通常指出資料庫位置是需要使用絕對路徑的,但我們並不知道我們的資料夾的位置究竟在哪裏,所以我們會用Server.MapPath("資料庫名稱")來取得絕對路徑。
因應各種資料庫,我列出以下資料庫的連接語法如下:
註:不可分行(除非使用 & _ 連結兩行字串才可分行)。在這裏分行是為了方便閱讀。
[ ] 內的東西若設了密碼才需要用到,沒設密碼則必須刪除。使用連線字串時請刪除「[」和「]」。
Microsoft Access
1.Driver={Microsoft Access Driver (*.mdb)};Dbq=資料庫;[Uid=使用者名稱;Pwd=密碼;]
2.Provider=Microsoft.Jet.OLEDB.4.0;Data Source=資料庫;[User Id=使用者名稱;Password=密碼;]
Oracle
1. Driver={Microsoft ODBC for Oracle};Server=資料庫;[Uid=使用者名稱;Pwd=密碼;]
2. Provider=OraOLEDB.Oracle;Data Source=資料庫;[User Id=使用者名稱;Password=密碼;]
dBase
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=資料庫;
Microsoft Text Driver
1. Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=資料庫;Extensions=asc,csv,tab,txt;
Persist Security Info=False;
2. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=資料庫;
Extended Properties='text;FMT=Delimited'
Microsoft SQL Server
1. Driver={SQL Server};Server=伺服器;Database=資料庫;
[Uid=使用者名稱(預設帳戶為sa);Pwd=密碼;]
2. Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;
[User Id=使用者名稱(預設帳戶為sa);Password=密碼;]
MySQL
driver={mysql};database=資料庫;option=16386;[uid=使用者名稱;pwd=密碼;]
Visual Foxpro
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;
SourceDB=資料庫;Exclusive=No;
建立連線時,我們必須先建立連線元件,並因應該資料庫類型以上述連線方式連接資料庫。
假設資料庫路徑為在網頁底下的 abc.mdb (Access資料庫),使用者名稱為 abc 、密碼為 test ,你可以這樣作:
<%
Set objDBConn=Server.Createobject("ADODB.connection") '建立連線元件
objDBConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("abc.mdb") & _
";User Id=abc;Password=test;"
'用連結字串開啟OLE DB的Access資料庫。注意,若您的資料庫沒設使用者名稱及密碼,則不需User Id及Password屬性。
'此時資料庫已經開啟,我們可以執行SQL指令或是建立資料集元件,請參閱其他相關文章。
'當執行完SQL指令或其他相關操作,我們可以叫那元件「回家睡覺」了。
objDBConn.Close
Set objDBConn=Nothing
'關閉資料庫元件連接,釋放系統資源,「回家睡覺」去