2015-11-02 102 views
-2

我尝试连接一个传统的ASP网页到SQL Server 2008时,和无论我做什么我不断收到这...经典ASP错误80004005试图连接到SQL Server

 
error '80004005' 

后,进入告诉我错误所在的位置,这就是全部。

我的连接代码如下

<% 
Dim Stock 
Dim Stock_cmd 
Dim Stock_numRows 

Set Stock_cmd = Server.CreateObject ("ADODB.Command") 
Stock_cmd.ActiveConnection = MM_DVerto_STRING 
Stock_cmd.CommandText = "SELECT Location, Part_Number FROM dbo.Stock_Header WHERE Part_Number = ?" 
Stock_cmd.Prepared = true 
Stock_cmd.Parameters.Append Stock_cmd.CreateParameter("param1", 200, 1, 15, Stock__MMColParam2) ' adVarChar 

Set Stock = Stock_cmd.Execute 
Stock_numRows = 0 
%> 

连接文件

<% 
' FileName="Connection_odbc_conn_dsn.htm" 
' Type="ADO" 
' DesigntimeType="ADO" 
' HTTP="false" 
' Catalog="" 
' Schema="" 
Dim MM_DVerto_STRING 
MM_DVerto_STRING = "dsn=CMD SQL;uid=web;" 
%> 

任何帮助会接受!

+0

我只能假设你连接到Access。你有没有试过寻找这个错误?似乎有成千上万的这样的例子,以及如何解决它。 https://www.google.com/search?q=classic+asp+error+%2780004005%27&ie=utf-8&oe=utf-8 –

+0

我的老学校ASP有点生疏。但是,您是否需要创建一个连接对象并将其附加到命令对象?您的代码将连接设置为字符串值。 –

+0

我的连接是到一个SQL Server,我已经使用了它,但没有任何结果修复了这个问题 –

回答

0

Error 80004005是:

数据源名称找不到和未指定默认驱动程序

最有可能您的Web服务器是缺少一个名为CMD SQL ODBC连接。

如果不是,这里是可能的原因从MSDN链接的完整列表:

  • 所使用的ASP页面做处理请求的Microsoft Windows NT 4.0或Windows 2000用户帐户没有足够的 权限来读取存储指定DSN的 配置信息的注册表项。
  • 在IIS服务器上不存在在ADO连接字符串中指定的系统ODBC DSN。
  • 在ASP应用程序的Global.asa文件(或在包含数据库连接代码的页面访问 前的ASP页面)中初始化的ASP应用程序或会话变量用于指定ADO连接字符串。当运行打开数据库连接的代码时,此连接字符串变量为 未初始化。 要确认这一点,请在打开数据库连接的 代码行之前添加一个Response.Write语句,以显示存储在该变量中的连接 字符串。
+1

只要想想OP,你可以自己*谷歌搜索*错误代码,而不是有人反思微软Docs。 – Lankymart

+0

试过以上的大部分,没有什么变化。 –

+1

该问题更可能是OP架构*(x86或x64)*并且将DSN注册在错误的地方。 – Lankymart