使用SQLite3和Classic ASP进行连接失败

时间:2018-02-28 20:00:54

标签: sqlite asp-classic

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

2 个答案:

答案 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驱动程序ODBCODBC 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;

enter image description here

我使用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>

enter image description here