当数据流任务正在完成,表正在加载,但所有字符字段都为空时,我遇到了问题。可悲的是,在开发和测试过程中,所有这些都运行得很好。但dev和prod之间存在环境差异,dev完全是32位的,而prod刚刚设置好,是64位的。
因此,场景是我使用32位SSIS和SQL Server 2000后端在一台XP机器上构建系统(我目前正在为一家非盈利公司工作,这是他们的全部)。来源是一个火鸟数据库。我已经部署了prod,这是所有日期和数字数据传输的地方,而不是字符数据。
Prod正在运行Windows 2008 64位到SQL Server 2008 R2 64位。我们安装了32位Firebird ODB驱动程序,设置了Firebird服务,它们都工作正常。在调试菜单中,我将运行64位运行时设置为false。我检查了源任务和目标任务下的所有高级编辑项,看起来没有问题,
DT_WSTR
和
NVARCHAR
。我已经在源和目标中进行了预览,并且在源中丢失的数据都显示良好。我在prod和dev环境之间所做的所有更改都是连接配置,通过手动打开它们并更改源的ODBC源和目标的SQL Server来实现。我将Dev数据库离线,以确保没有与糟糕的连接配置更改相关的问题。因此,在调试模式下运行时,会在SQL中为firebird中的每一行创建一行,但只填充数字和日期字段,字符(全部
nvarchar
以匹配火鸟)。
我错过了什么,这是我第一次32位到64位的转换,我不知道这是否像构建清单那样简单,然后在更改包的连接配置并部署到
MSDB
.
谢谢你的帮助。
做记号