gpt4 book ai didi

sql-server-2005 - 无法将数据从 Progress DB 导入 SQL Server,数据类型转换有问题?

转载 作者:行者123 更新时间:2023-12-04 07:10:37 29 4
gpt4 key购买 nike

我正在尝试将数据从 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)

我的第一个想法可能是 Progress 和 MSSQL 之间的 Date 数据类型之间存在问题,所以我在我的语句中尝试了 TO_CHAR(首先在 ODBC Explorer 中测试)但是这并没有解决它,我已经尝试了所有我能想到的方法,包括

  1. 在进度中使用 TO_CHAR选择声明
  2. 在 SSIS 中进行数据映射;尝试使用 Datetime、smalldatetime、nvarchar等等。
  3. 使用 TO_CHARNVL
  4. 将所有目标列的大小增加到 200(目前没有列需要超过 50,所以这绰绰有余)

即使从 select 语句中删除该 Date 字段仍然会产生相同的错误

有什么我遗漏的吗?源数据是否可能不正确并且在 SQL Server 中不受支持?

我发现 MSDN 上的一些帖子建议 data type conversion 可能存在问题Progress 列也可能存在数据溢出的问题

这似乎是一个间歇性问题,我有其他来自 Progress 的数据导入作业使用日期并且没有问题(是的,我已经交叉引用所有设置以确保我没有遗漏任何东西)

我唯一的选择似乎是从 Progress > Access(或其他一些数据库)> MS SQL 移动数据

最佳答案

Progress DB 将所有数据存储为可变长度。这通常会导致期望数据固定长度的数据库出现问题。解决方案是运行“dbtool”实用程序。

dbtool 位于 Progress“bin”目录中。您需要选项 #2“带修复选项的 SQL 宽度扫描”。

关于sql-server-2005 - 无法将数据从 Progress DB 导入 SQL Server,数据类型转换有问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1889341/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com