我有etl任务,它将从Mysql数据库中提取数据并加载到sqlserver中。我创建了ssis包来在我的本地机器上执行这项工作。在源代码中,我使用了带有mysql驱动程序的ADO.net。一切都很完美。但是当我将包文件dtsx文件移动到64位windows 2008的服务器并执行它时,我得到了sqlserver.dts.runtime.dtscouldnotcreatemanagedconnectionexception。但是,如果我移动整个项目,并在服务器上用BIDS打开项目,我看到在mysql的连接管理器中我丢失了mysql驱动程序设置,它默认为sqlserver驱动程序。我必须将其重置为服务器上的正确驱动程序才能运行。我也试过使用配置文件,它也不起作用。感谢
答案 0 :(得分:0)
你的包必须是mysql吗?
答案 1 :(得分:0)
BIDS环境是32位,在设置程序包时将使用32位驱动程序。在64位计算机上运行它时,它默认为64位驱动程序。听起来你没有在服务器上安装64位驱动程序。您可以安装64位驱动程序,或运行该程序包使用位于“C:\ Program Files(x86)\ Microsoft SQL Server \ 100 \ DTS \ Binn”中的32位版本的DTEXEC。