我看到一个错误,试图插入新的记录到q sqlite3数据库通过经典的ASP,其中更新和读取工作正常。sqlite窗口无法插入 -
ODBC driver does not support the requested properties.
/engine/includes/ajaxed/class_database/database.asp, line 160
这基本上可以归结为您的标准:
connectionString = "DRIVER=SQLite3 ODBC Driver;Database=" & server.mappath("/site.db") & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;
set connection = server.createObject("ADODB.connection")
connection.open(connectionString)
set aRS = server.createObject("ADODB.Recordset")
' error raised on next line
aRS.open tablename, connection, adOpenKeyset, adLockPessimistic, adCmdTable
权限是正确的(基本上是文件有每个人完全控制,包括IUSR),并且我已经到数据库更改为无日志型由于这个问题(Exception Message: Some kind of disk I/O error occurred);对现有记录的读取和更新都很好。
我使用的是当前版本的http://www.ch-werner.de/sqliteodbc/ 32位odbc驱动程序。
我试着设置其他记录集选项,如(adOpenKeyset,adLockOptimistic);没有运气,相同的错误信息。我试图读取sqliteodbc代码来查看支持的属性/是/,但无法实现。
你的代码(这为我工作,当我测试)不符合你的目标。它正在检索一个表(提供的'tablename'实际上包含了表的名字)。它不会插入任何东西。如果要插入记录,为什么不使用[ADO命令](http://msdn.microsoft.com/zh-cn/library/ms677502)对象来运行“INSERT INTO”语句? –
“插入表”确实有效。但是有一个记录集,在这个记录集中,然后发布诸如'aRS.addNew().. aRS.update,',在一个循环中说,不起作用。基本上我不能有一个记录集,我可以作为一个活动的连接记录集进行遍历,因为我无法确定活动记录集的受支持属性。 – frumbert
就我个人而言,我会选择一些有用的东西,而不是挂在没有的东西上。然而,如果你想坚持'aRS.Update'路由,你需要显示失败的代码(包括错误消息等),也就是你在'aRS.Open'和'aRS.Update '。我们无法帮助您处理已经工作的代码。 –