ASP連MYSQL

來源:互聯網
上載者:User

首先,在系統中安裝Mysql 的ODBC資料庫驅動。當前的穩定版本是3.51.是:http://dev.mysql.com/downloads/connector/odbc/3.51.html。下載安裝好後。在控制台-->管理工具-->資料來源 (ODBC)中的驅動程式頁中如果有MySQL ODBC 3.51 Driver就說明驅動已經安裝成功,就可以開始寫程式了。

下面是我測試時使用的程式,裡面有說明就不再介紹了。
<%
'設定MySql串連屬性
'各個變數說明:
' myHost:MySql資料庫地址
' myDB:使用的MySql資料庫名
' myUID:串連MySql資料庫使用的帳號
' myPWD:串連MySql資料使用帳號的密碼
' myChareSet:用戶端使用的編碼類別型。根據實際情況使用。
' 一般情況下使用gb2312 utf8 gbk這三種編碼。如果這三種都測試過仍然有亂碼。
' 請檢查你的設定。
'資料庫設定開始
dim myHost,myDB,myUID,myPWD
myHost = "localhost"
myDB = "knowldge"
myUID = "root"
myPWD = "mysqladmin"
myChareSet = "gb2312"
strconnection="driver={mysql odbc 3.51 driver};server=" & myHost & ";database=" & myDB & ";user name=" & myUID & ";password=" & myPWD
set conn = server.createobject("adodb.connection")
'串連資料庫
conn.open strconnection
'設定用戶端字元編碼
conn.execute("set names '" & myChareSet & "'")
'資料庫設定結束
%>
或:
set conn = server.createobject("adodb.connection")
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;DATABASE=Shops;USER=root;PASSWORD=xxx;"

上面是使用ADODB的串連方法,在預設3306連接埠是正常。
但在連接埠改成3333了,就出錯。
SERVER=127.0.0.1:3333; 這樣也不對,在PHP這樣是可以用的
SERVER=127.0.0.1,3333; MSSQL是這樣改連接埠,但在這是錯的。
這樣可能可以:
Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=127.0.0.1;PORT=3333;DATABASE=Shops;USER=root;PASSWORD=xxx;"
-------------------------------------------------------------------------------------------------------------------------------------------------

一般情況下,使用asp的時候很少會用到mysql資料庫,但有的時候就必須串連mysql,比如kaoyan.com因為論壇使用的是mysql的資料庫,而其他一些頻道是基於asp建立,所以涉及使用者身分識別驗證的時候,就經常需要用到asp來串連mysql。
1、asp串連mysql的基本方式
一般都是用myodbc來串連。首先需要安裝MyODBC,可以到
http://www.mysql.com/下載。
安裝好MyODBC之後,可以直接在asp代碼裡面通過以下語句來串連mysql資料庫:

strconnection=”driver={mysql odbc 3.51 driver};
database=dbname;server=localhost;uid=dbuser;password=dbpwd”
‘database:資料庫名
’server:伺服器名/ip
‘uid:使用者名稱
‘password:密碼
set con = server.createobject(”adodb.connection”)
con.open strconnection
另外還可以先在ODBC資料來源裡建立一個系統DSN,選擇 MySQL ODBC 3.51 Driver作為資料來源,填入相關的使用者名稱和密碼並測試之。相關的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及以上版本對字元集的限定跟之前的版本有很大不同,在進行資料庫查詢的時候如果不對字元集加以設定,一旦有查詢的欄位有中文,便很可能出現下面這樣的錯誤:

Microsoft OLE DB Provider for ODBC Drivers 錯誤 ‘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 ‘=’

這個時候就需要對asp的查詢語句進行一些修改,增加有關的字元集的設定:

“select email from members where username=_gbk ‘”&username&”‘ COLLATE gbk_chinese_ci“---------------------------------------------------------------------------------------------------------------------------------------------
、到mysql網站:
http://dev.mysql.com/downloads/下載MySQL ODBC 3.51 Driver安裝
2、使用如下代碼連結
    Conn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & strIP & ";DATABASE=" & strDBName & ";USER=" &
strUserName & ";PASSWORD=" & strPass & ";OPTION=3;"
如果MyODBC版本不同,請自行修改Driver中的字串

 <%
  strconnection="dsn=mysqltest;
  driver={mysql odbc 3.51 driver};
  server=填入伺服器位址;uid=使用者名稱;pwd=密碼;database=mm"
  ‘連接字串,dsn就是我們設定的資料來源標識符
  注意driver我們剛才在設定系統DSN的時候提過。
 
  set conn = server.createobject("adodb.connection")
  conn.open strconnection
  sql = "select * from my" ‘SQL查詢語句
  set rs = conn.execute(sql)
  if not rs.bof then

 %>
 

相關文章

聯繫我們

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