使用 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>
我只是在测试 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>