语法是没有错的,有如下要求:
1.你要先创建链接服务器: opo0022.出错信息是:"错误7405:异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项
出现这个问题,你需要删除存储过程,然后在查询分析器中执行创建存储过程的语句就行了
或者先删除存储过程,再"在数据库上设置了ANSI warning打勾和ANSI nulls打勾'",再创建存储过程
1.你要先创建链接服务器: opo0022.出错信息是:"错误7405:异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项
出现这个问题,你需要删除存储过程,然后在查询分析器中执行创建存储过程的语句就行了
或者先删除存储过程,再"在数据库上设置了ANSI warning打勾和ANSI nulls打勾'",再创建存储过程
CREATE PROC dbo.procInsert
(@orderNo varchar(4),@orderName varchar(20),@orderNum numeric(10,2))
AS
BEGIN TRAN
SET NOCOUNT ON
SET ANSI_WARNINGS OFFINSERT INTO opendatasource('sqloledb','data source=sprogram;user ID=develop;Password=12345').數據庫名.dbo.TabY(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
IF @@ERROR<>0 GOTO errhandle
COMMIT TRAN
SELECT 1errhandle:
IF @@ERROR<>0
BEGIN
ROLLBACK TRAN
SELECT 0
ENDGO--成功返回1,失敗返回0
SET ANSI_WARNINGS on
SET ANSI_PADDINGS on
go
CREATE PROCEDURE [dbo].[PROCEDURE NAME] AS select 1
GO
參考一個例子
CREATE PROC dbo.procInsert
(@orderNo varchar(4),@orderName varchar(20),@orderNum numeric(10,2))
AS
BEGIN TRAN
SET NOCOUNT ON
SET ANSI_WARNINGS OFF ----把这一句改了INSERT INTO opendatasource('sqloledb','data source=sprogram;user ID=develop;Password=12345').數據庫名.dbo.TabY(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
IF @@ERROR<>0 GOTO errhandle
COMMIT TRAN
SELECT 1errhandle:
IF @@ERROR<>0
BEGIN
ROLLBACK TRAN
SELECT 0
ENDGO--成功返回1,失敗返回0
--将上面的一句改成下面的再试试看SET ANSI_WARNINGS ON