Sql 对特定记录使用openrowset时出错
执行上述查询时,我遇到以下错误: Msg 8152,第16级,第10状态,第1行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
字符串或二进制数据将被截断。 声明已终止
有人能帮我解决这个问题吗?您必须对照目标列定义检查源数据
当您尝试在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