SQL的OPENROWSET在程序中不能使用
我在SQL Serve2000里写了一个存储过程。主要功能是实现SQL Server2000里的表导入到Access里。用以下的SQL代码实现:insert into OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'd:\nmzrxzsp.mdb '; 'admin '; ' ', 'select * from dataoutexecl ')select * from zr.dataoutexecl 。我在查询分析器里能执行,并能导入到access.但是我在程序里用delphi或VC调用存储程时,提示“Microsoft.Jet.OLEDB.4.0的特殊访问被拒绝,请在服务器上运行”为什么啊?
------解决方案--------------------zr是你建的用户吗?用sa用户导试试看
------解决方案--------------------还是zr是数据库名?那就应该是
insert into OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'd:\nmzrxzsp.mdb '; 'admin '; ' ', 'select * from dataoutexecl ')select * from zr..dataoutexecl
你确定在查询分析器可以?
------解决方案--------------------可能是安全级别不够被server block了
你可以通过sp_configure 来配置
通过 sp_configure 'show advanced options ', 1 --开启高级设置
2005通过 Ad Hoc Distributed Queries 试试 如果是0就改成1 如果是1就改成0
2000开启 romote access 来看看
------解决方案-------------------- 应该是权限的问题,好好查查.