zoukankan      html  css  js  c++  java
  • 每日小结(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:inetpubwwwrootindex.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>
    

    参考

    1. https://docs.microsoft.com/en-us/iis/application-frameworks/running-classic-asp-applications-on-iis-7-and-iis-8/classic-asp-not-installed-by-default-on-iis

    在 IIS 7 上使用 asp 连接 SQLite 数据库

    这部分内容主要是解决这个问题:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

    其实这个问题出现的原因还是因为驱动没装好。

    1. 打开 “ODBC 数据源管理器”,在开始中搜索:

    或者使用 win + R 创建任务: %windir%system32odbcad32.exe :

    1. 添加系统 DSN:

    点击 添加,选择合适的 SQLite 驱动,这里我用的是 Devart ODBC Driver for SQLite,点击 完成

    Data Source Name 这一栏可以任意填,但是 在 asp 程序中填写 connection string 时要与这里的对应

    Database 这一栏定位到 SQLite 数据库中,点击 OK,数据源就设置好了。

    1. 接下来要修改 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的对应。

    1. 测试服务器,可以正常读取数据库

    安装合适的驱动

    上述办法由于指定了 Data Source Name,因此,如果要更换 asp 程序所使用的数据库时会比较麻烦。
    其实有个简单的方法,直接将驱动装到服务器上,就可以正常运行了。

    SQLite ODBC 驱动的下载链接:

    装完之后再进入 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 属性也是可以连接到特定的数据库文件的。

  • 相关阅读:
    使用 ASP.NET Core MVC 创建 Web API(五)
    使用 ASP.NET Core MVC 创建 Web API(四)
    使用 ASP.NET Core MVC 创建 Web API(三)
    使用 ASP.NET Core MVC 创建 Web API(二)
    使用 ASP.NET Core MVC 创建 Web API(一)
    学习ASP.NET Core Razor 编程系列十九——分页
    学习ASP.NET Core Razor 编程系列十八——并发解决方案
    一个屌丝程序猿的人生(九十八)
    一个屌丝程序猿的人生(九十七)
    一个屌丝程序猿的人生(九十五)
  • 原文地址:https://www.cnblogs.com/brifuture/p/9650078.html
Copyright © 2011-2022 走看看