--这样写试  select @strsql='
    set ANSI_NULLS on 
    set ANSI_WARNINGS on 
   insert into '+@msg+'select * 
   from OPENDATASOURCE(
   ''SQLOLEDB'',
   ''Data Source=*.*.*.*;User ID=ddsmsshdandong;Password=123''
   ).[smsshandong].[dbo].['+@msg1+']'

解决方案 »

  1.   

    把存储过程生成脚本,在脚本前面写上如下语句:SET QUOTED_IDENTIFIER OFF 
    GOSET ANSI_NULLS ON --重新创建存储过程时,写上这句
    GOSET ANSI_WARNINGS ON --重新创建存储过程时,写上这句
    GOCREATE PROCEDURE dbo.sp_Test
    AS
    SELECT *
    FROM 表名GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
      

  2.   

    1、将存储过程生成脚本
    2、删掉原来的存储过程
    3、在重新创建存储过程脚本前添上
    SET ANSI_NULLS ON --重新创建存储过程时,写上这句
    GOSET ANSI_WARNINGS ON --重新创建存储过程时,写上这句
    GO即如下:把存储过程生成脚本,在脚本前面写上如下语句:SET QUOTED_IDENTIFIER OFF 
    GOSET ANSI_NULLS ON --重新创建存储过程时,写上这句
    GOSET ANSI_WARNINGS ON --重新创建存储过程时,写上这句
    GOCREATE PROCEDURE dbo.sp_Test
    AS
    SELECT *
    FROM 表名GO
    SET QUOTED_IDENTIFIER OFF 
    GO
    SET ANSI_NULLS ON 
    GO
      

  3.   

    要在创建存储过程之前加上下面的两句:
    SET ANSI_NULLS ON  GOSET ANSI_WARNINGS ON  GO然后在创建
    CREATE PROCEDURE  sp_Test
    AS
    begin
        select * from abc
    end