执行SSIS包时出现mysql错误

标签 mysql sql-server ssis

我正在使用 SSIS 将数据从 MSSQL 传输到 MySQL。我已经完成了所有表的映射。但是在执行包时出现错误:

[tabl_name [1056]] Error: An exception has occurred during data insertion, the message returned from the provider is: ERROR [07006] [MySQL][ODBC 3.51 Driver][mysqld-5.1.33-community-log]Restricted data type attribute violation(SQL_C_NUMERIC)

[product [402]] Error: An exception has occurred during data insertion, the message returned from the provider is: Unable to cast object of type 'System.Int32' to type 'System.Char[]'.

我也比较了所有列的数据类型,发现是一样的。 之后我做了一些研究,发现数据类型 decimal(10,2) 有问题。但我找不到解决方案。

提前致谢。

最佳答案

摆脱此类问题的一种简单方法是临时将有问题的列从 decimal 转换为 varchar,在完成迁移后,将其转换回 decimal。

以上可以适用于 MSSQL,因为错误是在 MSSQL 报错的。

关于执行SSIS包时出现mysql错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584358/

相关文章:

mysql 外键声明困惑

mysql - 如何在Mysql中使用rank()而不是PARTITION BY

sql-server - 获取数字序列中缺失的值

SQL 将关系表合并为单独的列

sql - 基于一列中的值跨组更改另一列中的值

error-handling - 在SSIS中检测部分行

mysql - 列出今天的约会 mysql 查询

php - 在 PHP 中调试 SQL 语法错误

sql-server - 我可以使用 Master Data Services 通过 Excel 加载项导入数据吗?主要是措施! (数字/值)

ssis - 使用 SSIS 将数据从 Oracle 复制到 SQL Server 时处理时间戳/日期时间