我负责将客户的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运行一些导出,但它将它们保存到我无法访问的文件系统中。
我可以联系当前/旧网站管理员,但因为他不再为公司工作,他的回复很慢,通常没有帮助。所以没有帮助...
'正在使用此连接,因为 ODBC导致奇怪的错误, 切换到OLEDB固定它们
我的问题:
提前感谢您的帮助。
答案 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兼容性。当然,它并不能解决您的所有问题,因为虽然您可以正确地获得结构,但存储过程和触发器等将需要更多的工作。但这应该让你开始。