进行数据迁移时所碰到的疑难问题以及解决方法。
在进行二次开发时,遇到了很多问题。其中一个就是数据迁移的问题。
问题一:老的程序使用的数据库是SQLSERVER2005,但是新程序使用的数据库却是SQLSERVER2008。这时候需要把08里面的数据迁移到05中去。因为服务器上没有08的数据库,所以只能使用编程的方式把08里面导数据导入到05数据库中。在这个导入过程中遇到了不少问题,以下罗列出来:
1)一开始,我们使用服务器的05数据库尝试连接测试服务器上的08数据库,但是无论如何都不能连接。后来查阅资料发现:微软不允许低版本数据库连接高版本数据库。既然这样不行,我就想,低版本连接不上高版本,但是高版本是可以连接低版本的。所以,使用测试服务器的08数据库连接正式服务器上的05数据库,不出所料,成功!(注:在使用下面的代码的时候,是需要08和05的数据库远程服务打开的,否则怎么都不行)
代码:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
这段代码的作用是:配置服务器安全配置。注:数据迁移完成后需要重新关闭,否则会有安全隐患。
select * from opendatasource( 'SQLOLEDB', 'Data Source=ip地址或服务器名称,端口号(默认为1433);User ID=用户名;Password=密码').[数据库名].[dbo].[表名](这段代码仅仅是查询的,至于如何插入,请百度)
只要上面代码能够查出数据,那么就证明成功了。
待续