在涉及老项目数据迁移的时候,数据库结构已经完全发生变化,而且需要对老数据进行特殊字段的处理,而且数据量较大,使用Navicat导出单表之后,一个表数据大概在100多万的样子,直接导出SQL执行根本行不通,执行到一般就GG。
之后尝试使用LINQ PAD直接操作两个数据库进行数据迁移,搜索一番,得知LINQ PAD是支持多数据库操作的,而且也是支持linked SqlServer。
首先,我们先在新数据库的服务器上,打开SQL Server Management Studio,连接上数据库,然后在服务器对象上找到链接服务器,右键链接服务器选择新建链接服务器,如下图:
链接服务器:填写你要关联的服务器IP地址
服务器类型:选择其他数据源。
提供程序:这里因为我是安装了Navicat for premium的,所以我直接选择的他的SQL提供程序。
数据源:这里还是填写关联服务器IP地址。
然后我们来到安全性:
选择使用此安全上下文建立链接,然后填上你远程服务器的登陆用户名以及密码即可。
然后我们打开Linq Pad,这里我是使用的LINQ PAD 5,新建一个链接,一直Next,然后到这个界面:
选择Include additional databases,之后会弹出如下界面:
上面选择你主数据库,下面不要点Pick from list来选择数据库,会提示找不到任何链接服务器,这里你手动点击一个条目,在Server 填上你刚才添加的服务器IP,后面database填上你要附加的数据库确定即可。
然后成功之后,你的连接就会成这个样子:
然后你就可以直接用C#来进行操作了。