我只是测试SQLite数据库和asp classic的组合来编写一个演示应用程序。但是,在这样做的过程中,我遇到了以下错误:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
connect failed
/DBTest/test.asp, line 3
以下是代码:
Set objConn = CreateObject("ADODB.Connection")
objConn.mode =3
objConn.Open "DRIVER=SQLite3 ODBC Driver;Database=test.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
是的,我已经为SQLite安装了驱动程序,我使用SQLite创建了test.db
数据库,放在同一个目录中。
答案 0 :(得分:0)
也许代替:
objConn.Open "DRIVER=SQLite3 ODBC Driver;Database=test.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
使用:
objConn.Open "DRIVER=SQLite3 ODBC Driver;Database=" & Server.mapPath( "test.db" ) & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
通过这样做,您可以清楚地知道驱动程序在哪里可以找到您的数据库文件。
答案 1 :(得分:0)
安装ODBC驱动程序ODBC和ODBC x64 和securty IIS权限是真的
我创建了sqlite db
BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS `DATALAR` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`isim` TEXT,
`data` TEXT
);
INSERT INTO `DATALAR` VALUES (2,'hasan','deneme');
INSERT INTO `DATALAR` VALUES (3,'fehmi','dene');
COMMIT;
我使用Classic Asp的代码
<table>
<tr><th>Name</th><th>Surname</th></tr>
<%
dbpath=Server.MapPath("sqliteveri.db")
Baglanti = "DRIVER=SQLite3 ODBC Driver; Database="& dbpath &"; LongNames=0; Timeout=1000; NoTXN=0; SyncPragma=NORMAL; StepAPI=0;"
Set bag = Server.CreateObject("ADODB.Connection")
bag.ConnectionString= Baglanti
bag.Open
set recordSet = server.createobject("adodb.recordset")
SQL="Select * from DATALAR"
recordSet.open SQL,Baglanti,1,3
%>
<% Do while not recordSet.eof %>
<tr><td><%=recordSet("isim")%></td><td><%=recordSet("data")%></td></tr>
<%
recordSet.MoveNext
Loop
%>
<%
recordSet.Close()
bag.Close()
%>
</table>