我正在尝试将数据从 Progress 数据库导入 MS SQL 2005 Server 数据库。
在 SQL Server 上,我右键单击我的架构名称并Tasks > Import Data...
运行向导。
我有一个 ODBC 连接来进行设置,那里没有问题,我还首先使用 ODBC Explorer 测试我的查询,以确保我没有语法问题。
我正在使用的语句如下:
SELECT "MYTABLE"."FIRST-NAME",
"MYTABLE"."LAST-NAME",
"MYTABLE"."D-O-B"
FROM PUB."MYTABLE"
这在 ODBC Explorer 中工作正常,但是当我尝试在 SSIS 中使用它时,我收到以下错误
Executing (Error)
Messages
Error 0xc02090f5: Data Flow Task: The component "Source - Query" (1) was unable to process the data.
(SQL Server Import and Export Wizard)
Error 0xc0047038: Data Flow Task: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "Source - Query" (1) returned error code 0xC02090F5. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.
(SQL Server Import and Export Wizard)
Error 0xc0047021: Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread "SourceThread0" has exited with error code 0xC0047038. There may be error messages posted before this with more information on why the thread has exited.
(SQL Server Import and Export Wizard)
Error 0xc0047039: Data Flow Task: SSIS Error Code DTS_E_THREADCANCELLED. Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown. There may be error messages posted before this with more information on why the thread was cancelled.
(SQL Server Import and Export Wizard)
Error 0xc0047021: Data Flow Task: SSIS Error Code DTS_E_THREADFAILED. Thread "WorkThread0" has exited with error code 0xC0047039. There may be error messages posted before this with more information on why the thread has exited.
(SQL Server Import and Export Wizard)
我的第一个想法可能是Date
Progress 和 MSSQL 之间的数据类型之间的问题,所以我TO_CHAR
在我的语句中尝试过(首先在 ODBC Explorer 中测试)但没有解决它,我已经尝试了所有我能想到的包括
TO_CHAR
在 Progress Select 语句中使用- 在 SSIS 中的数据映射期间;尝试使用 Datetime、smalldatetime、nvarchar 等。
- 使用
TO_CHAR
和NVL
- 将所有目标列的大小增加到 200(目前没有列需要超过 50,所以这就足够了)
即使从 select 语句中删除该 Date 字段仍然会产生相同的错误
有什么我错过的吗?SQL Server 是否支持源数据不正确且不受支持?
我在 MSDN 上发现一些帖子建议可能存在数据类型转换问题,并且进度列中的数据溢出也可能存在问题
这似乎是一个间歇性问题,我有其他使用日期的 Progress 数据导入作业并且没有问题(是的,我已经交叉引用了所有设置以确保我没有错过任何东西)
我唯一的选择似乎是从 Progress > Access (或其他一些 DB) > MS SQL 移动数据