使用 SQLite3 和 Classic ASP 获取连接失败

Getting connect failed with SQLite3 and Classic ASP

我只是在测试 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 数据库,放在同一目录中。

也许可以代替:

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;"

通过这样做,您可以让驱动程序清楚地知道在哪里可以找到您的数据库文件。

安装 ODBC 驱动程序ODBC and ODBC x64 和安全 IIS 权限 true

我创建 sqlite 数据库

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;

我使用经典代码 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>