|
首先,在系統(tǒng)中安裝Mysql 的ODBC數(shù)據(jù)庫驅(qū)動(dòng)。當(dāng)前的穩(wěn)定版本是3.51.下載地址是:http://dev.mysql.com/downloads/connector/odbc/3.51.html。下載安裝好后。在控制面板-->管理工具-->數(shù)據(jù)源 (ODBC)中的驅(qū)動(dòng)程序頁中如果有MySQL ODBC 3.51 Driver就說明驅(qū)動(dòng)已經(jīng)安裝成功,就可以開始寫程序了。
下面是我測試時(shí)使用的程序,里面有說明就不再介紹了。 <% '設(shè)置MySql連接屬性 '各個(gè)變量說明: ' myHost:MySql數(shù)據(jù)庫地址 ' myDB:使用的MySql數(shù)據(jù)庫名 ' myUID:連接MySql數(shù)據(jù)庫使用的帳號(hào) ' myPWD:連接MySql數(shù)據(jù)使用帳號(hào)的密碼 ' myChareSet:客戶端使用的編碼類型。根據(jù)實(shí)際情況使用。 ' 一般情況下使用gb2312 utf8 gbk這三種編碼。如果這三種都測試過仍然有亂碼。 ' 請(qǐng)檢查你的設(shè)置。 '數(shù)據(jù)庫設(shè)置開始 dim myHost,myDB,myUID,myPWD myHost = "localhost" myDB = "YingMu" myUID = "YingMu" myPWD = "03389.com" myChareSet = "gb2312" strconnection="driver={mysql odbc 3.51 driver};server=" & myHost & ";database=" & myDB & ";user name=" & myUID & ";password=" & myPWD set conn = server.createobject("adodb.connection") '連接數(shù)據(jù)庫 conn.open strconnection '設(shè)置客戶端字符編碼 conn.execute("set names '" & myChareSet & "'") '數(shù)據(jù)庫設(shè)置結(jié)束 %> 或: set conn = server.createobject("adodb.connection") Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=YingMu;USER=YingMu;PASSWORD=03389.com;"
上面是使用ADODB的連接方法,在默認(rèn)3306端口是正常。 但在端口改成3333了,就出錯(cuò)。 SERVER=127.0.0.1:3333; 這樣也不對(duì),在PHP這樣是可以用的 SERVER=127.0.0.1,3333; MSSQL是這樣改端口,但在這是錯(cuò)的。 這樣可能可以: Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;PORT=3333;DATABASE=YingMu;USER=YingMu;PASSWORD=03389.com;" -------------------------------------------------------------------------------------------------------------------------------------------------
一般情況下,使用asp的時(shí)候很少會(huì)用到mysql數(shù)據(jù)庫,但有的時(shí)候就必須連接mysql,比如kaoyan.com因?yàn)檎搲褂玫氖莔ysql的數(shù)據(jù)庫,而其他一些頻道是基于asp建立,所以涉及用戶身份驗(yàn)證的時(shí)候,就經(jīng)常需要用到asp來連接mysql。 1、asp連接mysql的基本方式 一般都是用myodbc來連接。首先需要安裝MyODBC,可以到http://www.mysql.com/下載。 安裝好MyODBC之后,可以直接在asp代碼里面通過以下語句來連接mysql數(shù)據(jù)庫:
strconnection=”driver={mysql odbc 3.51 driver}; database=dbname;server=localhost;uid=dbuser;password=dbpwd” ‘database:數(shù)據(jù)庫名 ’server:服務(wù)器名/ip ‘uid:用戶名 ‘password:密碼 set con = server.createobject(”adodb.connection”) con.open strconnection 另外還可以先在ODBC數(shù)據(jù)源里新建一個(gè)系統(tǒng)DSN,選擇 MySQL ODBC 3.51 Driver作為數(shù)據(jù)源,填入相關(guān)的用戶名和密碼并測試之。相關(guān)的ASP連接代碼如下:
strconnection=”dsn=dbdsn;driver={mysql odbc 3.51 driver};uid=dbuser;password=dbpwd” ‘dsn:新建的DSN名稱 ‘uid:用戶名 ‘password:密碼 set con = server.createobject(”adodb.connection”) con.open strconnection 2、需要注意的問題(mysql4.1及以上版本)
mysql4.1及以上版本對(duì)字符集的限定跟之前的版本有很大不同,在進(jìn)行數(shù)據(jù)庫查詢的時(shí)候如果不對(duì)字符集加以設(shè)定,一旦有查詢的字段有中文,便很可能出現(xiàn)下面這樣的錯(cuò)誤:
Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 ‘80040e31′
[MySQL][ODBC 3.51 Driver][mysqld-4.1.18]Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation ‘=’ |
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|