2016-05-12 44 views
-1

当连接到我的数据库,我从我的服务器得到一个错误代码,它引用我到THIS LINK,但我知道asp在我们的服务器上启用,因为代码执行得很好,直到它执行Recordset.Open SQL,Connection.为了确保我建立了一个成功的数据库连接,我写了一条消息,声明“Connected OK”正常工作,直到添加Recordset.Open语句(通过删除Recordset进行测试,并且工作正常)。 ASP文件通过我的React.JS应用程序中的AJAX请求调用,该应用程序位于DotNetNuke上的HTML模块中,并且这也没有问题。我们的服务器正在运行安装了SQL Server 2008的IIS 8。数据库读取错误,传统的ASP

更新 - 错误代码从服务器:

Conversion_failed_when_converting_the_varchar_value_'2520-031'_to_data_type_int. 80 - ::1 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/50.0.2661.94+Safari/537.36 http://localhost/Test.aspx 500 0 0 24 

编辑:我知道我的SQL语句说:“表”是错误的,我只是不觉得舒服就在这里张贴实际的表名。

欢迎任何有关改进此代码的建议(或使用ASP.Net的示例)。

ASP代码:

<% 

line = request.querystring("q") 
Response.Write("Hello" & line) 

Dim conn 
Dim Recordset 
DIM SQL 

SQL = "SELECT * from table" 

Set conn = Server.CreateObject("ADODB.Connection") 
Set Recordset = Server.CreateObject("ADODB.Recordset") 

conn.Open "Provider=SQLOLEDB; Data Source = ****; Initial Catalog = ****; User Id = ****; Password= ****" 
Recordset.Open SQL,Connection 

If conn.errors.count = 0 Then 

    Response.Write "Connected OK" 

End If 

conn.close 

%> 
+0

随机Downvote解释为什么 –

+0

你知道ASP.Net和经典ASP的区别?你不能只使用这两者的合并,并期望它的工作。目前,您正在测试的文件具有'.aspx'扩展名,这意味着在任何IIS Web服务器上,文件的处理都将由ASP.Net处理程序处理,而不是经典ASP引擎处理。您还需要考虑清理错误处理,以便从ASP/IIS返回有意义的错误。 – Lankymart

回答

0

您应该使用

Recordset.Open SQL,conn 

而不是

Recordset.Open SQL,Connection 
+0

你能解释一下为什么。 –

+0

您必须在指定了连接字符串的地方传递连接对象(conn)。你在做什么是传递一个Connection类,这不是除了什么参数。看到这个http://www.w3schools.com/asp/met_rs_open.asp – Sam

+0

嘿,我只是试过,并得到了相同的错误 –