我正在使用SSIS并尝试将数据从MySql导入到SQL Server。我在尝试将mySql日期时间转换为SQL Server日期时遇到问题。有什么建议吗?
答案 0 :(得分:0)
尝试将日期转换为字符串,然后再转换为日期时间。
答案 1 :(得分:0)
问题是什么?您使用哪种SSIS数据类型? DT-DBTIMESTAMP
应该适用于两者。
答案 2 :(得分:0)
您能提供错误或问题的示例吗?我发现MySQL中的一些值超出了SQL Server的范围。在这些情况下,我在MySQL端使用NULLIF来首先删除坏值。 Rafal Ziolkowski的转换为字符串的解决方案也可以正常工作,但我个人更愿意将转换推送到MySQL查询,如果它只影响数据列。
答案 3 :(得分:0)
这花了我几天才弄明白......所以我想我会分享我的笔记
下载32位ODBC驱动程序 访问MySQL网站并下载:“mysql-connector-odbc-5.2.4-ansi-win32.msi” 注意:不要在BIDS 2008上使用64位驱动程序.BIDS 2008是32位。创建SSIS的连接管理器时,您将收到不匹配错误:“指定的DSN包含驱动程序和应用程序之间的体系结构不匹配”
创建用户DSN 您需要打开使用Windows 32 ODBC管理工具。不要在控制面板中打开常规ODBC管理员。打开位于此处的ODBC管理员:c:\ Windows \ SysWOW64 \ odbcad32.exe。如果您使用默认的ODBC管理员...它将无法正常工作。此外,您必须创建“用户DSN” - 而不是系统DSN。否则它将不会出现在SSIS中 注意:屏幕看起来相同,因此您无法知道您是否使用32位BIT ODBC管理工具。
创建一个新的SSIS包并创建一个ADO.NET连接管理器:
更改Source ADO.NET属性。 您将收到验证错误,您的包将无法运行。您需要将ADO.NET源中的“ValidateExternalMetadata”更改为FALSE(在“高级编辑器”对话框中)它还会为您提供元数据错误...没关系......只需单击“确定”即可。它仍将拉取元数据(列名/数据类型)。您不能像在SQL Server中那样选择表。您需要键入SQL select语句。
运行包,应该正常运行并加载。