ASP 连接 SQL Server 20[2026/7/29 1:52:43]
 

查看: 5  |  回复: 0
 ASP 连接 SQL Server 2022 的标准连接字符串
楼主
发表于 今天 00:03 

一、先说关键前置(老 ASP 必备)

老式 ASP 默认用ADO + SQLOLEDB / MSDASQL(ODBC),SQL2022 默认开启加密,旧驱动会报:SSL 安全、握手失败、连接报错,下面两种写法都附带兼容方案。

运行环境:经典 ASP (IIS) + Win10 + SQL Server2022

方式 1:OLEDB 原生连接(最推荐,老 ASP 通用)

1)Windows 身份验证(本机数据库,不用账号密码,最简单)

Dim conn,connstr
Set conn = Server.CreateObject("ADODB.Connection")
' Data Source=你的SQL实例名,本机默认就是 . 或者 localhost
connstr = "Provider=SQLOLEDB;Data Source=.;Initial Catalog=你的数据库名;Integrated Security=SSPI;TrustServerCertificate=Yes;"
conn.Open connstr

2)SQL 账号密码登录(sa 账号登录,最常用)

Dim conn,connstr
Set conn = Server.CreateObject("ADODB.Connection")
connstr = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=数据库名称;User ID=sa;Password=你的sa密码;TrustServerCertificate=Yes;"
conn.Open connstr

TrustServerCertificate=Yes 用来绕过 SQL2022 强制证书校验,解决老式驱动连接报错,必加。

方式 2:ODBC 方式(兼容极其老旧的 ASP 代码,和当年 SQL2000 写法几乎一模一样)

Dim conn,connstr
Set conn = Server.CreateObject("ADODB.Connection")
connstr = "Driver={SQL Server};Server=localhost;Database=数据库名;Uid=sa;Pwd=sa密码;TrustServerCertificate=Yes;"
conn.Open connstr

二、极简封装版(直接复制替换你原有 conn 字符串即可)

sa 账号完整版(90% 人用这个)

<%
Dim conn, connStr
Set conn = Server.CreateObject("ADODB.Connection")
connStr = "Provider=SQLOLEDB;Server=localhost;Database=testdb;Uid=sa;Pwd=123456;TrustServerCertificate=Yes;"
conn.Open connStr
%>

替换:testdb= 你的库名、123456= 你的 sa 密码

三、SQL2022 必须做的 2 个配套设置(不然大概率连不上)

开启 SQL Server 身份验证模式SSMS → 右键实例属性 → 安全性 → 勾选【SQL Server 和 Windows 身份验证模式】,重启 SQL 服务生效。

放行 TCP/IP 协议SQL Server 配置管理器 → SQL Server 网络配置 → 实例协议 → 启用 TCP/IP,端口保持默认 1433。

四、常见报错补充

报错:未找到提供程序解决:Win10 安装 Microsoft OLE DB Driver for SQL Server(微软官网下载)

连接超时:检查 SQL 服务是否启动、防火墙放行 1433 端口

数据库从 2000 附加进来只读:mdf/ldf 文件右键属性→安全,给当前用户完全控制权限

五、关闭数据库别忘了释放对象

'页面底部关闭
If IsObject(conn) Then
   If conn.State = 1 Then conn.Close
   Set conn = Nothing
End If


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2026 MaNongKu.com