SSIS:源具有UNICODE数据;I';m使用MySQL 64位ANSI ODBC驱动程序
源代码有Unicode数据,但我使用的是MySQL 64位ODBC ANSI驱动程序,该驱动程序在部分加载后抛出错误(遇到几个特殊字符后出错)SSIS:源具有UNICODE数据;I';m使用MySQL 64位ANSI ODBC驱动程序,mysql,ssis,odbc,mysql-odbc-connector,Mysql,Ssis,Odbc,Mysql Odbc Connector,源代码有Unicode数据,但我使用的是MySQL 64位ODBC ANSI驱动程序,该驱动程序在部分加载后抛出错误(遇到几个特殊字符后出错) 除了切换到Unicode驱动程序之外,还有其他解决方法吗?SSIS对元数据的要求非常严格。您有两种选择:切换驱动程序或将源数据重新编码为ANSI 还有第三种选择:将UNICODE数据提取到CSV文件,然后通过平面文件连接加载该文件。从那里,您可以指示连接管理器使用ANSI或UNICODE 我通过平面文件导入实现了一种更具可伸缩性的方法,允许通过Power
除了切换到Unicode驱动程序之外,还有其他解决方法吗?SSIS对元数据的要求非常严格。您有两种选择:切换驱动程序或将源数据重新编码为ANSI 还有第三种选择:将UNICODE数据提取到CSV文件,然后通过平面文件连接加载该文件。从那里,您可以指示连接管理器使用ANSI或UNICODE 我通过平面文件导入实现了一种更具可伸缩性的方法,允许通过PowerShell脚本(当然是数字签名)转换.NET支持的任何编码。在这种情况下,数据提供者可以向我抛出任何东西,我可以在加载之前将其编码为ANSI 解决方案实际上取决于当前和未来潜在的数据需求。我希望这有帮助 更新: 我不是MySQL专家,因为我不了解它。如果您在服务器中使用本机转换函数,您可能希望全面了解它在从UNICODE转换到ANSI时如何处理varchar和nvarchar字符串的转换。我再次将重新编码转换为.NET,而不是服务器功能
https://stackoverflow.com/questions/32367311/convert-to-ascii-char-in-sql-server
https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html
https://dev.mysql.com/doc/refman/8.0/en/cast-functions.html
这起作用了:将(columnName使用ASCII)转换为columnName谢谢@J Weezy。。我们可以对SSIS中提取数据的表达式做些什么吗?像铸造还是什么?@KarthikDoure当你说表达式时,我理解一个变量表达式。从这个意义上说,;不,我不知道如何更改表达式中的元数据。元数据除外。我可以更改MySQL查询以将ANSI转换为Unicode吗?看起来是这样的-convert(columnName使用ASCII)@KarthikDoure我明白你的意思了。是的,你能做到。