每日小结(2)
摘要
- 在 win10 中开启 IIS 服务器并支持 .asp 文件的解析
- 在 IIS 7 上使用 asp 连接 SQLite 数据库
在 win10 中开启 IIS 服务器并支持 .asp 文件的解析
系统:win10 amd64 1803
开启 IIS 服务
打开控制面板 => 程序与功能 => 启用或关闭 Windows 功能,找到 Internet Information Services 项:
然后在浏览器中输入 localhost 就可以看到默认界面了。
使 IIS 支持 .asp 文件的解析
展开上图中的 “应用程序开发功能” 项,选中 ASP 和 ISAPI 扩展这两项:
将 C:\inetpub\wwwroot\index.htm 文件重命名为 index.asp,即改为 asp 文件,即可使用 asp 的语法。
在 IIS 中添加默认文档 index.asp
或者在网站根目录添加一个 web.config 文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<add value="index.asp" />
<add value="index.aspx" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
参考
在 IIS 7 上使用 asp 连接 SQLite 数据库
这部分内容主要是解决这个问题:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
其实这个问题出现的原因还是因为驱动没装好。
- 打开 “ODBC 数据源管理器”,在开始中搜索:
或者使用 win + R
创建任务: %windir%\system32\odbcad32.exe
:
- 添加系统 DSN:
点击 添加
,选择合适的 SQLite 驱动,这里我用的是 Devart ODBC Driver for SQLite
,点击 完成
:
Data Source Name
这一栏可以任意填,但是 在 asp 程序中填写 connection string 时要与这里的对应。
Database
这一栏定位到 SQLite 数据库中,点击 OK
,数据源就设置好了。
- 接下来要修改 connection string:
' following connection string is not valid without proper driver
'connString = "DRIVER=SQLite3 ODBC Driver;Database=" & dbpath & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
' using Driver: Devart ODBC Driver for SQLite, following connection string works well on IIS 7, but it the database file is fixed
' here the driver property is not effected because we don't have a driver whose name is SQLite3 ODBC,
' but Data Source property point out a valid database, so invalid driver property is coverd
connString = "Driver=SQLite3 ODBC Driver;Data Source=" & "testdb" &"; Version=3;Legacy Format=True;"
on error resume next
conn.Open connString
注意上面的 connString
中的 Data Source
项要和上面设置 DSN 中 Data Source Name
的对应。
- 测试服务器,可以正常读取数据库
安装合适的驱动
上述办法由于指定了 Data Source Name
,因此,如果要更换 asp 程序所使用的数据库时会比较麻烦。
其实有个简单的方法,直接将驱动装到服务器上,就可以正常运行了。
SQLite ODBC
驱动的下载链接:
- 32bit
- 64bit
- 百度网盘链接:https://pan.baidu.com/s/1zLzUGlHVdAnjKJ2JsATvbQ 密码:wuaz
装完之后再进入 ODBC 数据源 —— 系统 DSN 中进行查看数据源和相应的配置:
总结
可以发现这里多了个 SQLite3 DataSource
的数据源,其驱动程序为 SQLite3 ODBC Driver
,并且其中配置的 DataBase Name
是留空的,其实你也应该注意到了,
我们之前使用 ADO 连接数据库时使用的连接字符串是 connString = "DRIVER=SQLite3 ODBC Driver;Database=" & dbpath & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
这里的 Driver 和安装好驱动后,系统 DSN 中的数据源驱动程序是同名的,这就说明如果数据库没有配置好,那么 asp 服务器就会报错。
其实也可以看到,如果直接在 ODBC 数据源
程序中指定了数据源(并指定了确定的 SQLite 数据库文件),那么直接在连接字符串中写上 Data Source
属性也是可以连接到特定的数据库文件的。
本博客由 BriFuture 原创,并在个人博客(WordPress构建) BriFuture's Blog 上发布。欢迎访问。
欢迎遵照 CC-BY-NC-SA 协议规定转载,请在正文中标注并保留本人信息。