此前曾处理过将MySql数据库表和MsSql数据库中部分表进行数据同步的问题。尽管是所涉及的表不多,但是我们也姑且称之为“异步数据库的同步”吧。实际最初是编写的PHP程序来做,功能到时实现了,但是定时的问题不好解决。后来据说可以在SqlServer中编写任务,即通过写Sql脚本,但是我这种情况并不是单纯的两张表之间的同步,因为两张表的结构并不同,而是需要将分别来源于MsSql和MySql的两张表合并重组之后,插入新表,整个过程相对复杂,自己也担心用单纯的sql实现比较难写,要是用程序实现,整个过程显然是掌握在自己手中,至少维护起来是相当给力的。所以最终还是选择了采用 C#实现数据的相互导入。(呵呵)
由于是异构数据库,我选择了采用MySQL ODBC 5.1 Driver。
安装好后,在“控制面板”——>“管理工具”中就能够看到上面的图标。当然,忘了给大家说,我是在Windows Xp的环境下操作的。
双击上面这个图标,你就可以按照相关步骤配置数据源连接。
当然,.net的强大是令人兴奋的。有专门的MySql.dll第三方组件,当你在项目中添加了对该组件的饮用后,就可以想操作MsSql一样在程序里面操作MySql,当然这里我选择的是.NET自带的ODBC。这个时候你只需要在服务其上安装好ODBC数据源就可以了,我选择的是MySQL ODBC5.1 Driver。
ODBC我想大家也是比较熟悉的了,对它的操作和对SqlServer几乎是一样的。只是连接字符串格式不太一样。
这个是在连接Sqlserver的写法:
string connStr = "Data Source=服务器IP;Initial Catalog=数据库名;User ID=用户名;Password=密码";
这个是连接odbc的连接字符串:
string odbcConnstr = "Driver={MySQL ODBC 5.1 Driver};Server=服务器名; Port=端口;Database=数据库名;User=用户名;Password=密码;Option=3;";
除此之外,其他的对数据库的操作步骤基本是一样的。