我想将存储过程的输出作为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')}