2008-12-08 64 views
1

連接代碼:轉換連接字符串SQLOLEDB

set conx = Server.CreateObject("ADODB.connection") 
conx.Open Application("connectionString") 

set cmdx = server.CreateObject("ADODB.command") 
cmdx.ActiveConnection = conx 
cmdx.CommandText = "dbo.sproc" 
cmdx.CommandType = &H0004 

set rsx = Server.CreateObject("ADODB.Recordset") 
rsx.open cmdx 

resarray = rsx.getrows 

此連接字符串的工作原理:

connectionString = "DRIVER=SQL Server;UID=User;Address=000.000.000.000;Network=DBMSSOCN;DATABASE=Database;SERVER=server;Password=password;" 

這不......

connectionString = "Provider=SQLOLEDB;Data Source=000.000.000.000;UID=User;Address=000.000.000.000;Network=DBMSSOCN;DATABASE=Database;SERVER=server;Password=password;" 

我得到的錯誤是:

ADODB.Recordset error '800a0e78' 

Operation is not allowed when the object is closed. 

我錯過了什麼?

回答

3

這裏只是一個平底船,但OLEDB驅動程序處理行數信息的方式與ODBC不同。

我非常懷疑,如果您在存儲過程的頂部添加SET NOCOUNT ON,問題將消失。

+0

工作得很好,謝謝! – NikolaiDante 2008-12-10 08:13:01

-1

聽起來像數據庫中的權限問題!

+0

這是相同的數據庫,只是達到它的一種不同的方式。 – NikolaiDante 2008-12-08 11:23:08