相關(guān)資訊
- 《戰(zhàn)國(guó)無(wú)雙4-2》怎么換服裝?戰(zhàn)國(guó)無(wú)
- 關(guān)于責(zé)任的名言警句大全
- 《戰(zhàn)國(guó)無(wú)雙4-2》PC版如何聯(lián)機(jī)? 戰(zhàn)
- 戰(zhàn)國(guó)無(wú)雙4-2技能覺(jué)醒牛逼嗎 全新
- 《戰(zhàn)國(guó)無(wú)雙4-2》手柄無(wú)效怎么解決
- 戰(zhàn)國(guó)無(wú)雙4-2如何設(shè)置語(yǔ)言 戰(zhàn)國(guó)無(wú)雙
- 戰(zhàn)國(guó)無(wú)雙4-2怎么樣跳過(guò)進(jìn)入開場(chǎng)動(dòng)畫
- 什么是應(yīng)屆生畢業(yè)生
- 應(yīng)屆生簡(jiǎn)歷自我評(píng)價(jià)
- 應(yīng)屆生簡(jiǎn)歷怎么寫
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416896
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
本文分享的是一個(gè)作者的小經(jīng)驗(yàn)之談,關(guān)于ASP里鏈接數(shù)據(jù)庫(kù)出錯(cuò)的經(jīng)驗(yàn)分享,希望能幫助到大家。
首先申明,我不是什么高手,只是結(jié)合自己的那點(diǎn)微不足道的經(jīng)驗(yàn),以及一直有人在QQ上問(wèn)我,很多相關(guān)數(shù)據(jù)庫(kù)操作的問(wèn)題,大多總接下來(lái),其實(shí)和很多ASP程序員自己對(duì)數(shù)據(jù)庫(kù)相關(guān)知識(shí)的領(lǐng)會(huì)多少有關(guān)系,剛好今天在CSDN上看到有人在討論這樣的問(wèn)題,我覺(jué)得有必要理清楚很多自己或他人不清楚的內(nèi)容。
對(duì)與數(shù)據(jù)庫(kù)操作的理解,看看下面的內(nèi)容,也許會(huì)更清楚一些!
1) 用SET建立連接對(duì)象 (這里是建立程序和數(shù)據(jù)庫(kù)操作通道,
set cnobj = Server.CreateObject("ADODB.Connection")
2)給出數(shù)據(jù)庫(kù)驅(qū)動(dòng)的生產(chǎn)廠商和版本號(hào)以及你的access數(shù)據(jù)庫(kù)所在的位置
strcon="provider=microsoft.jet.oledb.4.0;data source="&Server.MapPath("/wang/data/bbs.mdb")
記住:strcon是字符串變量你可以隨便給,server.mappath是取數(shù)據(jù)庫(kù)的磁盤路徑,后面所跟的一定是站點(diǎn)路經(jīng)。
本句也可以寫成:
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="&Server.MapPath("("/wang/data/bbs.mdb")")
3)用鏈接對(duì)象的OPEN方法打開數(shù)據(jù)庫(kù)
cnobj.Open strcon
到此連接完成,后面就是建立記錄集對(duì)象了,如:
set rstobj=server.createobject("adodb.recordset") '此句用SET語(yǔ)句建立記錄集對(duì)象RSTOBJ
set rstobj=cnobj.execute("select * from users") '此句利用cnobj對(duì)象的execute方法執(zhí)行SELECT查詢語(yǔ)句,users是庫(kù)中的表名稱
帶密碼的連接:
Conn1.Open "Provider=Microsoft.JET.OLEDB.3.51;" & _
"Data Source=G:\ComponentSource\DBFiles\CSMain\CSMain.mdb;" &
"Jet OLEDB database Password=outlook"
問(wèn)題現(xiàn)象比較多的一類就是:
以前一切正常的程序,現(xiàn)在運(yùn)行的時(shí)候提示如下信息:
Microsoft VBScript 編譯器錯(cuò)誤 錯(cuò)誤 '800a03f6' 缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 錯(cuò)誤 '80004005'
[Microsoft][ODBC Microsoft Access Driver]常見(jiàn)錯(cuò)誤 不能打開注冊(cè)表關(guān)鍵字 'Temporary (volatile) Jet DSN for process 0x570 Thread 0x738 DBC 0x242e404 Jet'。
/bbs/index.asp,行7
為什么?我也說(shuō)不清楚,但是我的經(jīng)驗(yàn)就是這樣,因?yàn)閃indows2000 SP2以后的新bug造成的。也許微軟不喜歡ODBC了,所以出此下策。正確的方法是使用OLEDB來(lái)連接Access。連接字符串為:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=數(shù)據(jù)庫(kù)文件名
我不知道我這樣理解對(duì)不對(duì),OLEDB比ODBC更直接面向數(shù)據(jù)庫(kù),這樣打個(gè)比方,如果你希望到電影院去看電影,從家里出門,有兩路車可以到電影院,兩路車為100路和10路,100路車需要在某站下車然后換10路在走一個(gè)站可以到電影院,10路當(dāng)然可以直接到電影院,可能都成習(xí)慣了,搭公車喜歡做100路車,呵!雖然我也知道10路可以直達(dá)目的地。這里非常羅嗦,也有些不符合一般常人的邏輯(大款除外),問(wèn)題是我要說(shuō)的ODBC和OLEDB就相單于100路和10路。而電影院就是我們要操作的數(shù)據(jù)庫(kù)。那我們?yōu)槭裁床皇褂肙LEDB呢?不怕見(jiàn)笑。我現(xiàn)在想的就是這樣。這個(gè)問(wèn)題實(shí)在太普遍了!所以說(shuō)得這么多!
<%
dim DB
DB="數(shù)據(jù)庫(kù)名" '定義數(shù)據(jù)庫(kù)路徑及名稱
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
%>
解接問(wèn)題必須注意使用上面的連接方式! 還有很多,今天先說(shuō)這些,如果我的理解有不正確的地方,希望高手牛人指正!