为什么错误:"[ODBC驱动程序管理器]未找到数据源名称..."?(在开发环境中正常工作)

nho*_*yti 4 sql-server odbc ado asp-classic

我在ASP页面遇到问题.这是一个登录页面,在允许访问主页面之前检查用户对数据库的凭据.我创建了一个调试器页面来找出错误详细信息,这是错误消息:

 Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. 
Run Code Online (Sandbox Code Playgroud)

这是我登录网站时在Web服务器上遇到的错误消息.这里奇怪的是在我的机器(桌面)本地测试页面时一切正常(即使使用IIS和MSSQL服务器).我在部署和测试页面时也使用相同的连接字符串.

请帮助,任何建议或意见将被大大接受.

谢谢,Nhoyti

小智 7

连接到SQL Server的典型ODBC连接字符串可能如下所示.

DRIVER={SQL Server};SERVER=127.0.0.1\SQLEXPRESS;DATABASE=dbname;
UID=userid;PWD=password
Run Code Online (Sandbox Code Playgroud)

转到控制面板 - >管理工具 - >数据源(ODBC)

尝试使用连接字符串中提供的信息创建用户DSN,并测试从生产服务器到SQL Server的ODBC连接.


mjv*_*mjv 6

问题可能在于服务器本身ODBC配置 .换句话说,连接字符串[到ODBC源]是可以的(因为在其他服务器上测试过),但它引用了未在此特定服务器上配置的源.

要解决此问题,请打开ODBC数据源管理器(通常是"管理"工具菜单中的快捷方式之一),并检查是否确实有一个源(通常是"系统DSN"),其名称与连接中的名称相同串.这样的源可能是不合适的或不正确的配置.

除了性能方面的考虑,可以考虑在连接字符串级别使用更直接的数据提供程序(如MS SQL数据提供程序或Microsoft.Jet.OLEDB); 这避免了服务器上的额外配置点(ODBC配置面板)(但是这可能需要使用两个不同的连接字符串,一个用于测试环境,一个用于生产环境......)

  • 哪个是?这是一个无用的评论,这对任何面临同样问题的人都没有帮助! (23认同)