上面搞错啦,应该是:
因为我从一个ACCESS数据库的一个表A插入到SQL SERVER 数据库表B中,两个表的结构不一样的,我建数据源,用BatchMove数度很慢,所以我决定:在SQL SERVER数据库中写一存储过程,访问一个ACCESS表,这只是一个简单的模型
CREATE PROCEDURE [dbo].[TranCode] 
 AS
  SELECT a.*
   FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0 ', 
    'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders) 
    AS aGO在查询分析器中执行没错,但在这存取过程中,报错:
  异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项。这将确保
一致的查询定义。请启用这些选项,然后从新发出查询
请问一下,我该怎么设置?

解决方案 »

  1.   

    ANSI_NULL AND ANSI_WARNINGS可以通过
    SET ANSI_NULLS {ON | OFF}
    SET ANSI_WARNINGS { ON | OFF }
    进行配置.
    不过你可以换一种方法:
    USE master
    GO
    -- To use named parameters:
    EXEC sp_addlinkedserver 
       @server = 'Accounts', 
       @provider = 'Microsoft.Jet.OLEDB.4.0', 
       @srvproduct = 'OLE DB Provider for Jet',
       @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'
    GO
    EXEC sp_addlinkedsrvlogin 'Accounts',null
    go
    SELECT *FROM    accounts...tablename