asp采用ODBC接口訪問(wèn)MySQL的方法
更新時(shí)間:2007年07月29日 17:55:12 作者:
MySQL的ODBC接口實(shí)現(xiàn)是通過(guò)安裝MyODBC驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)程序是跨平臺(tái)的。如果在Linux等unix體系操作系統(tǒng)下使用,需要先安裝iodbc這些第三方ODBC標(biāo)準(zhǔn)支援平臺(tái)。
簡(jiǎn)單的ASP示例代碼:
<%
dim sql,mysql
set sql = server.createobject("adodb.connection")
mysql="driver={mysql odbc 3.51 driver};database=庫(kù);server=主機(jī);uid=用戶(hù);password
=密碼;" 'option = 設(shè)置
sql.open mysql
%>
上邊這段代碼是采用MyODBC開(kāi)發(fā)版3.51連接的示例,使用開(kāi)發(fā)版是因?yàn)橐恍┬碌奶匦院头€(wěn)定性2.x正式版所不具備的。前幾天看了篇微軟安全專(zhuān)家所撰寫(xiě)的如何編寫(xiě)安全程序的教程。上邊提到如果按照上邊示例的方法一旦ASP文件的代碼被駭客看到,那么數(shù)據(jù)庫(kù)可能不保,然后引發(fā)一連串的問(wèn)題,甚至被奪得管理權(quán)限。文章中順便提到了解決方法,是通過(guò)編寫(xiě)com組件,然后由ASP調(diào)用組件的方法連接數(shù)據(jù)庫(kù)。這么做的好處是提高了安全性,但是問(wèn)題是有能力這么做的人畢竟是少數(shù)。那么我的折衷方案是定義數(shù)據(jù)源。將庫(kù)、用戶(hù)、密碼以及設(shè)置這些連接信息統(tǒng)統(tǒng)在數(shù)據(jù)源中定義,從很大程度簡(jiǎn)單化了實(shí)現(xiàn)的難度,而且也起到增強(qiáng)安全性的作用。當(dāng)然,為了保證數(shù)據(jù)源可以在實(shí)際運(yùn)作環(huán)境中被訪問(wèn)到,一定要定義為“系統(tǒng)數(shù)據(jù)源”,開(kāi)發(fā)時(shí)定義為“用戶(hù)數(shù)據(jù)源”或者“系統(tǒng)數(shù)據(jù)源”我倒覺(jué)得無(wú)傷大雅。
使用數(shù)據(jù)源的ASP示例代碼
<%
dim sql
set sql = server.createobject("adodb.connection")
sql.open "dns=MySQL數(shù)據(jù)源名稱(chēng)"
%>
簡(jiǎn)單的ASP示例代碼:
<%
dim sql,mysql
set sql = server.createobject("adodb.connection")
mysql="driver={mysql odbc 3.51 driver};database=庫(kù);server=主機(jī);uid=用戶(hù);password
=密碼;" 'option = 設(shè)置
sql.open mysql
%>
上邊這段代碼是采用MyODBC開(kāi)發(fā)版3.51連接的示例,使用開(kāi)發(fā)版是因?yàn)橐恍┬碌奶匦院头€(wěn)定性2.x正式版所不具備的。前幾天看了篇微軟安全專(zhuān)家所撰寫(xiě)的如何編寫(xiě)安全程序的教程。上邊提到如果按照上邊示例的方法一旦ASP文件的代碼被駭客看到,那么數(shù)據(jù)庫(kù)可能不保,然后引發(fā)一連串的問(wèn)題,甚至被奪得管理權(quán)限。文章中順便提到了解決方法,是通過(guò)編寫(xiě)com組件,然后由ASP調(diào)用組件的方法連接數(shù)據(jù)庫(kù)。這么做的好處是提高了安全性,但是問(wèn)題是有能力這么做的人畢竟是少數(shù)。那么我的折衷方案是定義數(shù)據(jù)源。將庫(kù)、用戶(hù)、密碼以及設(shè)置這些連接信息統(tǒng)統(tǒng)在數(shù)據(jù)源中定義,從很大程度簡(jiǎn)單化了實(shí)現(xiàn)的難度,而且也起到增強(qiáng)安全性的作用。當(dāng)然,為了保證數(shù)據(jù)源可以在實(shí)際運(yùn)作環(huán)境中被訪問(wèn)到,一定要定義為“系統(tǒng)數(shù)據(jù)源”,開(kāi)發(fā)時(shí)定義為“用戶(hù)數(shù)據(jù)源”或者“系統(tǒng)數(shù)據(jù)源”我倒覺(jué)得無(wú)傷大雅。
使用數(shù)據(jù)源的ASP示例代碼
<%
dim sql
set sql = server.createobject("adodb.connection")
sql.open "dns=MySQL數(shù)據(jù)源名稱(chēng)"
%>
相關(guān)文章
mysql數(shù)據(jù)庫(kù)的內(nèi)外連接
這篇文章主要介紹了mysql數(shù)據(jù)庫(kù)的內(nèi)外連接,內(nèi)連接實(shí)際上就是利用where子句對(duì)兩種表形成的笛卡兒積進(jìn)行篩選,我們前面學(xué)習(xí)的查詢(xún)都是內(nèi)連接,也是在開(kāi)發(fā)過(guò)程中使用的最多的連接查詢(xún),需要的朋友可以參考下2023-07-07mysql密碼忘記后如何修改密碼(2022年最新版詳細(xì)教程保姆級(jí))
因?yàn)殚L(zhǎng)時(shí)間不操作mysql而忘記root密碼的朋友估計(jì)不在少數(shù),下面這篇文章主要給大家介紹了關(guān)于mysql密碼忘記后如何修改密碼的相關(guān)資料,本教程是2022年最新版詳細(xì)教程保姆級(jí),需要的朋友可以參考下2022-04-04Linux下mysql新建賬號(hào)及權(quán)限設(shè)置方法
Linux下mysql新建賬號(hào)及權(quán)限設(shè)置方法,其實(shí)linux與windows下的設(shè)置方法一樣的,都是命令行操作2012-07-07打開(kāi)和關(guān)閉mysql服務(wù)的兩種實(shí)現(xiàn)方法
這篇文章主要介紹了打開(kāi)和關(guān)閉mysql服務(wù)的兩種實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07DBeaver連接mysql數(shù)據(jù)庫(kù)錯(cuò)誤圖文解決方案
這篇文章主要給大家介紹了關(guān)于DBeaver連接mysql數(shù)據(jù)庫(kù)錯(cuò)誤解決方案的相關(guān)資料,DBeaver是免費(fèi)、開(kāi)源、通用數(shù)據(jù)庫(kù)工具,是許多開(kāi)發(fā)開(kāi)發(fā)人員和數(shù)據(jù)庫(kù)管理員的所選,需要的朋友可以參考下2023-11-11