如何使用ODBC接口訪問MySQL

字號:

MySQL的ODBC接口實(shí)現(xiàn)是通過安裝MyODBC驅(qū)動,這個驅(qū)動程序是跨平臺的。如果在Linux等Unix體系操作系統(tǒng)下使用,需要先安裝Iodbc這些第三方ODBC標(biāo)準(zhǔn)支援平臺。
    簡單的ASP示例代碼:
    <% dim sql,mysql set sql = server.createobject("adodb.connection") mysql="driver={mysql odbc 3.51 driver};database=庫;server=主機(jī);uid=用戶;password =密碼;" ’option = 設(shè)置 sql.open mysql %>
     上邊這段代碼是采用MyODBC開發(fā)版3.51連接的示例,使用開發(fā)版是因?yàn)橐恍┬碌奶匦院头€(wěn)定性2.x正式版所不具備的。前幾天看了篇微軟安全專家所撰寫的如何編寫安全程序的教程。上邊提到如果按照上邊示例的方法一旦ASP文件的代碼被駭客看到,那么數(shù)據(jù)庫可能不保,然后引發(fā)一連串的問題,甚至被奪得管理權(quán)限。文章中順便提到了解決方法,是通過編寫com組件,然后由ASP調(diào)用組件的方法連接數(shù)據(jù)庫。這么做的好處是提高了安全性,但是問題是有能力這么做的人畢竟是少數(shù)。那么我的折衷方案是定義數(shù)據(jù)源。將庫、用戶、密碼以及設(shè)置這些連接信息統(tǒng)統(tǒng)在數(shù)據(jù)源中定義,從很大程度簡單化了實(shí)現(xiàn)的難度,而且也起到增強(qiáng)安全性的作用。當(dāng)然,為了保證數(shù)據(jù)源可以在實(shí)際運(yùn)作環(huán)境中被訪問到,一定要定義為“系統(tǒng)數(shù)據(jù)源”,開發(fā)時定義為“用戶數(shù)據(jù)源”或者“系統(tǒng)數(shù)據(jù)源”我倒覺得無傷大雅。
    <% dim sql set sql = server.createobject("adodb.connection") sql.open "dns=MySQL數(shù)據(jù)源名稱" %>