[英]SSIS SQL task stopped working after upgrading to 2012 from 2008
我正在寻找可能导致程序包(在多个2008 r2环境中工作)导致升级到2012年时停止工作的任何信息。
所有的SQL任务都开始出现故障,我不知道为什么。 这是一个例子。
即使我将数据库重新创建为正确的排序规则并重新进行了查询,但仍然收到排序规则错误,因此它不再加入。
没有加入怎么可能得到归类错误!
use master
DECLARE @db varchar(100)
DECLARE @tid varchar(3)
DECLARE @queryta varchar(max)
SET @db= ?
SET @tid = ?
SET @queryta='
SELECT smt.nro COLLATE database_default as yr,
smt.type COLLATE database_default AS tyyppi,
ISNULL(CAST(CONVERT(date,smt.dt1) AS VARCHAR),''1799-12-30'') COLLATE database_default AS dt,
ISNULL(CAST(CONVERT(date,smt.dt12 AS VARCHAR),''1799-12-30'') COLLATE database_default AS dt2
FROM [mydatabase].[dbo].[table] as smt
WHERE smt.T_Id='''+@tid+'''
'
exec(@queryta)
错误:
[执行SQL任务]错误:执行查询“使用master DECLARE @db varchar(100)DECLARE @ ...”失败,并出现以下错误:“无法执行将varchar值隐式转换为varchar的操作,因为该值的排序规则为由于“ add_operator”中的“ SQL_Latin1_General_CP1_CI_AS”和“ Finnish_Swedish_CI_AS”之间的排序规则冲突而无法解决。”。 可能的失败原因:查询问题,“ ResultSet”属性未正确设置,参数未正确设置或连接未正确建立。
我正在使用SQL Server数据工具进行调试。
这让我发疯,任何帮助都感激不已!!
编辑以加强收藏,不更改
@RemusRusanu是正确的。 服务器排序规则为Finnish_Swedish_CI_AS,数据库排序规则为Latin。 该错误是SSIS行为中的错误,因为查询有效并且在Management Studio中运行。
我不能使用use master命令和3部分命名来访问正确的数据库,其中一个具有不同的排序规则。 似乎没有多少强制转换或强制排序规则可以解决此问题(服务器应该已经用拉丁语某种排序规则进行了设置,因为所有DB似乎都在使用它)。
解决的办法是简单地改变使用主 - > 使用MyDatabase的
感谢@RemusRusanu
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.