ASP連結資料庫語法

用ASP連結資料庫有很多種方法。由於不同類型的資料庫,所以我們需要用各自的連結語法來產生對資料庫的連接。

在自己的電腦,我們可以使用DSN(Data Source Name)來連接,方法是在控制台設定ODBC 連線,再在ASP用該DSN作開啟即可。但在一些免費空間,我們則須用DSN-less的方式連接資料庫,我們要在ASP中列出驅動程式名稱及資料庫位置。

通常指出資料庫位置是需要使用絕對路徑的,但我們並不知道我們的資料夾的位置究竟在哪裏,所以我們會用Server.MapPath("資料庫名稱")來取得絕對路徑。

因應各種資料庫,我列出以下資料庫的連接語法如下:
註:不可分行(除非使用 & _ 連結兩行字串才可分行)。在這裏分行是為了方便閱讀。
  [ ] 內的東西若設了密碼才需要用到,沒設密碼則必須刪除。使用連線字串時請刪除「[」和「]」。 
(資料來源:http://www.class2u.com/book/ultradev4/connection.htm)

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
'關閉資料庫元件連接,釋放系統資源,「回家睡覺」去
%>
 
引用:http://tpe4th.spaces.live.com/Blog/cns!F2D6061CFD47BBAC!269.entry
arrow
arrow
    全站熱搜

    nan 發表在 痞客邦 留言(0) 人氣()