1

接続コード:

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. 

私は何が欠けていますか?

4

2 に答える 2

3

ここでパントしますが、OLEDB ドライバーが行カウント情報を処理する方法は、ODBC とは異なります。

ストアド プロシージャの先頭に SET NOCOUNT ON を追加すると、問題が解消されると思われます。

于 2008-12-09T11:17:31.397 に答える
-1

データベースの権限の問題のようですね!

于 2008-12-08T10:54:14.080 に答える