为什么在读取从SQL Server存储过程命令调用创建的记录集时出现运行时错误3704

时间:2019-05-21 18:00:43

标签: access-vba ado

我想将存储过程的输出作为MS Access子例程中的记录集读取。我已经在SQL Server上测试了存储过程,并且工作正常。我可以与包含存储过程的数据库建立ADODB连接,从表面上看,它似乎可以设置和执行命令。但是,首次尝试访问记录集会导致运行时错误3704-“关闭对象时不允许操作”。

这是我第一次尝试这样的事情。我错过了一步吗?还有什么可能导致此错误?

我已经测试过ADODB连接是否可以打开。

我尝试使用.CommandText方法仔细检查是否已正确设置命令调用,但是返回的字符串仅具有存储的proc的名称和问号代替了这两个参数。没有帮助。

int

打开记录集的所有步骤似乎都可以正常进行,直到出现CodeListing.MoveFirst行时才出现故障。

在服务器上,我可以像这样执行proc,这很好:

EXEC BE.dbo.pr_BI_ListObjectCode @Database ='BE',@ObjectName ='pr_AM_ReletDetails'

命令的CommandText属性的输出如下所示:

{呼叫BE.dbo.pr_BI_ListObjectCode(?,?)}

我不知道它应该是什么样子,或者这意味着参数没有正确形成或附加,因为我希望它经过充分准备后看起来像这样:

{呼叫BE.dbo.pr_BI_ListObjectCode(@Database ='BE',@ObjectName ='pr_AM_ReletDetails')}

0 个答案:

没有答案