Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对特定记录使用openrowset时出错_Sql_Sql Server 2005_Openrowset - Fatal编程技术网

Sql 对特定记录使用openrowset时出错

Sql 对特定记录使用openrowset时出错,sql,sql-server-2005,openrowset,Sql,Sql Server 2005,Openrowset,执行上述查询时,我遇到以下错误: Msg 8152,第16级,第10状态,第1行 字符串或二进制数据将被截断。 声明已终止 有人能帮我解决这个问题吗?您必须对照目标列定义检查源数据 当您尝试在varchar(50)列中插入(比如)100个字符时会发生这种情况谢谢您的回复,但当我手动复制列数据时,我的意思是创建插入脚本并运行它时,它正在工作,但当我起诉openrowset时,我得到了error@kallem:错误消息由SQL Server生成,而不是由PostgreSQL生成。因此,您可以在Pos

执行上述查询时,我遇到以下错误:

Msg 8152,第16级,第10状态,第1行
字符串或二进制数据将被截断。 声明已终止


有人能帮我解决这个问题吗?

您必须对照目标列定义检查源数据


当您尝试在varchar(50)列中插入(比如)100个字符时会发生这种情况

谢谢您的回复,但当我手动复制列数据时,我的意思是创建插入脚本并运行它时,它正在工作,但当我起诉openrowset时,我得到了error@kallem:错误消息由SQL Server生成,而不是由PostgreSQL生成。因此,您可以在PostgreSQL中直接执行的操作可能不适用于允许您在SQL Server中执行的操作。只需遵循建议,并在适当的地方使用子字符串或类型转换。
INSERT INTO OPENROWSET('MSDASQL', 'Driver=PostgreSQL Unicode;uid=postgres;Server=localhost;port=5432;database=data;pwd=xxx',
    'select SanctionId,SchemeType,SchemeCode,CorrigendumStatus,AttendumStatus,yearofPlan,ReceivedDate from tesing WHERE SanctionId = ''-1'' ')
select SanctionId,SchemeType,SchemeCode,CorrigendumStatus,AttendumStatus,yearofPlan,ReceivedDate from testing where SanctionId=1103