【发布时间】:2010-03-01 06:37:35
【问题描述】:
自两天以来我一直很艰难,无法弄清楚我应该如何处理我的实施。我不确定这是否真的可行。请帮我解决这个问题。
下面是我的场景:
-
我有一个 .Net Dll,它有一个方法可以在打开它后返回一个 SqlConnection 对象。下面是函数(类似于我正在使用的 - 这是一个示例函数)
SqlConnection conn = new SqlConnection(); conn.ConnectionString = @"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=myDatabase;Data Source=.\SQLEXPRESS;Trusted_Connection=true"; conn.Open(); 我正在使用私钥在 GAC 中安装此 .dll。
- 然后使用将其导出为 tlb 的 regasm.exe 实用程序注册它。
- 最后,我能够从我的 ASP 应用程序访问这个 .net dll,并能够从我正在使用 .dll 类对象访问的方法中获取返回值。 (从方法中访问字符串值肯定没有问题,但是这个方法我试图访问SqlConnection ado.net 对象)
下面是我的示例 ASP 页面,展示了我如何访问和使用连接对象:
<!-- #include file="adovbs.inc" -->
<%
set objdll = Nothing
set objConn = Nothing
//creating class object from the .net dll
set objdll = Server.CreateObject("gacDemo.clsGacDemo")
//accessing the GetConnection() method using the object.
//GetConnection() returns the SQLConnection ado.net object
objConn = objdll.GetConnection()
set objRS = Server.CreateObject("ADODB.Recordset")
objRs.Source = "SELECT COUNT(*) AS CityCount FROM city"
objRS.Open "select count(*) as count from city", objConn, 3, 3, 1
Count = objRS.Fields("count").value
response.Write Count
%>
我遇到了这个错误,我正在尝试修复它,
错误类型: ADODB.Recordset (0x800A0BB9) 参数类型错误、超出可接受范围或相互冲突。
我不确定是否可以在 asp 页面中使用 SqlConnection ado.net 对象。
【问题讨论】:
-
@Mitch 更有可能只是一个品味和举止非常差的人。
-
我认为您不能使用 ADO.Net 连接打开 ADO 记录集。您有什么理由必须将“旧”与“新”混为一谈?换句话说,既然您使用的是标准 ASP,为什么不直接使用 ADO 连接?
-
@David:他显然不喜欢仍在使用 Classic ASP。支持的结束日期是什么时候?我想应该是今年 7 月。
-
将支持 ASP,直到对包含 ASP 支持的最后一个版本的 Windows Server/IIS 的支持到期。到现在为止,还有Windows Server 2000、Windows Server 2003、Windows Server 2008、Windows Server 2008 R2。
标签: .net ado.net asp-classic