為什么ASP中執(zhí)行動態(tài)SQL總報錯誤信息?提示語句語法錯誤
更新時間:2007年04月02日 00:00:00 作者:
問:為什么ASP中執(zhí)行動態(tài)SQL總報錯誤信息?提示語句語法錯誤
答:
有時候?qū)慉SP用conn.execute(sql)查詢、更新、插入Access數(shù)據(jù)庫數(shù)據(jù)時,明明正確的語句卻往往會顯示sql語句錯誤,相當惱火,特進行了歸納,可適當為字段添加“[”、“]”解決:
例1:select * from a
如出現(xiàn)錯誤,可改為:select * from [a]
例2:UPDATE [user] SET password = '"&data1&"' where secname='"&data2&"'"
如出現(xiàn)錯誤,可改為:UPDATE [user] SET [password] = '"&data1&"' where secname='"&data2&"'"
例3:INSERT INTO mybook ( name, by, mobile ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
如出現(xiàn)錯誤,可改為:
INSERT INTO mybook ( [name], [by], [mobile] ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
問:為什么運行時總是提示“Microsoft JET database Engine (0X80040E09)”不能更新,數(shù)據(jù)庫或?qū)ο鬄橹蛔x?
答:
在windows+iis服務器上運行asp程序可能會出現(xiàn)數(shù)據(jù)庫無法更新的情況,具體錯誤信息可能為:
1、Microsoft JET Database Engine (0x80040E09) 不能更新。數(shù)據(jù)庫或?qū)ο鬄橹蛔x
2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。
3、Microsoft JET Database Engine (0x80004005) 操作必須使用一個可更新的查詢。
解決辦法有以下幾種(針對不同的服務器可能解決辦法不一樣,在這里假設(shè)網(wǎng)站主目錄為wwwroot):
A、在wwwroot文件夾上面點擊右鍵-“屬性”-取消“只讀”
此方法最簡單、偶爾有效
B、在您的數(shù)據(jù)庫文件上文件夾上面點擊右鍵-“屬性”-“安全”-添加用戶:“IUSR_計算機名” 并開放“IUSR_計算機名”的讀取、寫入權(quán)限
此方法是目前解決這個問題最好的辦法,一般都可以解決問題
XP系統(tǒng)下可能點擊右鍵看不到“安全”選項,請先打開“工具”-“文件夾選項”-“查看”-取消“使用簡單文件共享(推薦)” 然后即可在屬性中找到“安全”選項
C、在wwwroot文件夾上面點擊右鍵-“屬性”-“web共享”-“共享文件夾”
D、這是目前解決這個問題的幾種辦法,如果網(wǎng)友還有什么補充請聯(lián)http://www.venshop.com凡人網(wǎng)絡(luò)
答:
有時候?qū)慉SP用conn.execute(sql)查詢、更新、插入Access數(shù)據(jù)庫數(shù)據(jù)時,明明正確的語句卻往往會顯示sql語句錯誤,相當惱火,特進行了歸納,可適當為字段添加“[”、“]”解決:
復制代碼 代碼如下:
例1:select * from a
如出現(xiàn)錯誤,可改為:select * from [a]
例2:UPDATE [user] SET password = '"&data1&"' where secname='"&data2&"'"
如出現(xiàn)錯誤,可改為:UPDATE [user] SET [password] = '"&data1&"' where secname='"&data2&"'"
例3:INSERT INTO mybook ( name, by, mobile ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
如出現(xiàn)錯誤,可改為:
INSERT INTO mybook ( [name], [by], [mobile] ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
問:為什么運行時總是提示“Microsoft JET database Engine (0X80040E09)”不能更新,數(shù)據(jù)庫或?qū)ο鬄橹蛔x?
復制代碼 代碼如下:
答:
在windows+iis服務器上運行asp程序可能會出現(xiàn)數(shù)據(jù)庫無法更新的情況,具體錯誤信息可能為:
1、Microsoft JET Database Engine (0x80040E09) 不能更新。數(shù)據(jù)庫或?qū)ο鬄橹蛔x
2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。
3、Microsoft JET Database Engine (0x80004005) 操作必須使用一個可更新的查詢。
解決辦法有以下幾種(針對不同的服務器可能解決辦法不一樣,在這里假設(shè)網(wǎng)站主目錄為wwwroot):
A、在wwwroot文件夾上面點擊右鍵-“屬性”-取消“只讀”
此方法最簡單、偶爾有效
B、在您的數(shù)據(jù)庫文件上文件夾上面點擊右鍵-“屬性”-“安全”-添加用戶:“IUSR_計算機名” 并開放“IUSR_計算機名”的讀取、寫入權(quán)限
此方法是目前解決這個問題最好的辦法,一般都可以解決問題
XP系統(tǒng)下可能點擊右鍵看不到“安全”選項,請先打開“工具”-“文件夾選項”-“查看”-取消“使用簡單文件共享(推薦)” 然后即可在屬性中找到“安全”選項
C、在wwwroot文件夾上面點擊右鍵-“屬性”-“web共享”-“共享文件夾”
D、這是目前解決這個問題的幾種辦法,如果網(wǎng)友還有什么補充請聯(lián)http://www.venshop.com凡人網(wǎng)絡(luò)
相關(guān)文章
asp實現(xiàn)的查詢某關(guān)鍵詞在MSSQL數(shù)據(jù)庫位置的代碼
整體而言,這段SQL只適宜用在小型數(shù)據(jù)庫上,ASP中的循環(huán)也沒效率,大庫還是別用了,小庫可以考慮。如果是大庫的話,請聯(lián)系皇子要另外一份牛人寫的SQL查詢語句。2010-04-04
使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000)應用介紹
SQL Server 桌面引擎(也叫 MSDE 2000)沒有自己的用戶界面,因為它主要設(shè)計為在后臺運行2012-11-11
ASP在SQL Server 2000中新建帳號和權(quán)限
ASP在SQL Server 2000中新建帳號和權(quán)限...2006-09-09
set rs=server.CreateObject("adodb.recordset") 的中文詳
這是創(chuàng)建一個數(shù)據(jù)庫實例,但是什么是數(shù)據(jù)庫實例?還有rs這個東西也不是一個變量,他在程序里邊rs.update 等操作是如何進行的?打開的表示如何接收rs傳過來的數(shù)據(jù)的?2010-08-08
如何在不支持數(shù)據(jù)庫的asp主頁上運用ado
如何在不支持數(shù)據(jù)庫的asp主頁上運用ado...2006-09-09
asp Access數(shù)據(jù)備份,還原,壓縮類代碼
asp Access數(shù)據(jù)備份,還原,壓縮類實現(xiàn)代碼,大家可以參考下。2009-11-11
asp 在線備份與恢復sqlserver數(shù)據(jù)庫的代碼
asp 在線備份 恢復 sql server 數(shù)據(jù)庫,對于遠程沒有提供sqlserver遠程連接或打包下載的朋友是個臨時解決方法,對于大數(shù)據(jù)來說可能效果不好。2010-07-07

