从MS SQL迁移到MySQL:SQLOLEDB?迁移工具包登录错误?

时间:2009-06-13 22:14:42

标签: mysql sql-server database migration oledb

我负责将客户的MS SQL / ASP网站迁移到PHP / MYSQL。我没有使用MS SQL的经验。

我正在试图找出将当前数据迁移到MySQL的最佳方法,以便我可以开始PHP开发。

一些细节:

  • 我下载了SQL Server Mangement Studio Express。我在连接文件中找到以下字符串:

    MM_connCompanyName_STRING =“provider = SQLOLEDB; data source = IP_ADDRESS; database = DATABASENAME; uid = USERNAMEpwd = PASSWORD;”

  • 使用此字符串中的IP,用户名和密码,我可以使用Studio Express成功连接。

  • 我下载了MySQL Migration Toolkit并输入了相同的信息,但收到以下错误:

    连接到源数据库并检索模式名称。 初始化JDBC驱动程序...... 驱动程序类MS SQL JDBC驱动程序 打开连接...... 连接jdbc:jtds:sqlserver:// IP_ADDRESS:1433 / DATABASENAME; user = USERNAME; password = PASSWORD;“; charset = utf-8; domain = 无法检索模式名称列表(错误:0)。 ReverseEngineeringMssql.getSchemata:用户'USERNAME'登录失败。

  • 我没有对当前SQL服务器的管理员或物理访问权限。我试图通过Studio Express运行一些导出,但它将它们保存到我无法访问的文件系统中。

  • 可以联系当前/旧网站管理员,但因为他不再为公司工作,他的回复很慢,通常没有帮助。所以没有帮助...

  • 前管理员给我发了一个MDF文件......不知道该怎么做。
  • 我在当前服务器上的连接信息上面找到了这个注释(如果它意味着什么):
  

'正在使用此连接,因为   ODBC导致奇怪的错误,   切换到OLEDB固定它们

我的问题:

  1. 知道为什么使用与Studio Express相同的登录凭据会导致失败?我假设它与驱动程序有关,但我不知道接下来要采取的步骤。
  2. 是否有更好/更简单/更有效的方式来迁移此数据? (我希望我没有发现自己在Studio Express中运行“SELECT *”语句并将数据复制/粘贴到Excel中...请上帝,不要)
  3. 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

Eww,这将是可怕的(连接字符串表示它是从Dreamweaver生成的工具,从来不是一个好兆头。)

知道哪个版本的SQL Server?你应该能够SELECT @@ VERSION。 10.x是2008,9.00x是2005而8.x是2000.如果是7.x运行。

MDF文件是实际的数据库。如果我是你,我会购买SQL 2005的开发者版本(如果是2008年不太可能是8版),那么它的价格是99美元左右。

这将使您能够通过ATTACHing MDF文件在本地安装数据库。一旦有了本地运行的副本,就可以使用带有MySql ODBC驱动程序的SQL Server ETL工具以可重复的方式将数据推送到MySql。

答案 1 :(得分:0)

我相信您可以从MSSQL导出数据,选择不同的SQL方言;我相信有一个合理的MySQL兼容性。当然,它并不能解决您的所有问题,因为虽然您可以正确地获得结构,但存储过程和触发器等将需要更多的工作。但这应该让你开始。