数据库mysql里的数据 与sqlserver里的数据同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库mysql里的数据 与sqlserver里的数据同步相关的知识,希望对你有一定的参考价值。
本人有2个数据库,一个mysql 一个sqlserver。在这2个数据库中我有一张相同的表userInfo。分别在mysql中的mySqlDb数据库里和在sqlserver中的myDb数据库里。
现在我想让mysqlDb.userInfo与myDb.userInfo数据同步。具体就是当mysqlDb.userInfo里的数据发生变化,myDb.userInfo里也相应的发生相同的变化。(变化如:insert,update,delete)
希望各位老大多多指教啊!!俺不懂这个啊!回答满意可以在加分
1、首先,你要有一个业务层和一个数据访问接口层和数据层(后两层可以合并),业务层中有数据操作时同时操作其它两层的数据,只有同时成功了才提交事务。这样可以确保数据一致。
2、设计和实现一个数据同步工具,我实现了一个SQL Server和Oracle之间数据同步的工具,利用一个定义表(主键,字段,表名,同步标识等)和DataSet做中转,能够将两个数据库中需要同步的表同步成相同的内容,你可以根据要求指定同步周期。 参考技术A CSDN上找到的一个方案,不知道行不行,参考下吧:
在mssql的服务器上安装MySQL的ODBC驱动MyODBC
1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN
2、建立链接数据库
EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'
3、操作数据
SELECT * FROM OPENQUERY (MySQLTest ,'select * from 表' ) 参考技术B 想用数据库的功能来实现肯定是不行的,触发器和发布订阅都不行..
还是在你的程序方面想办法吧...
如何将java程序里的一段连接mysql的语句转为连接sqlserver语句。连接的是sqlser
如何将java程序里的一段连接mysql的语句转为连接sqlserver语句。连接的是sqlserver。
参考技术A java中使用jdbc连接sql server数据库步骤:1.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
<1> 将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
<2> 设置SQLEXPRESS服务器:
a.打开SQL Server Configuration Manager -> SQLEXPRESS的协议 -> TCP/IP
b.右键单击启动TCP/IP
c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e.关闭SQL Server Configuration Manager
<3> 打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
<4> 打开Eclipse
a.新建工程-> Java -> Java project,起名为Test
b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar
c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中
<5> 编写Java代码来测试JDBC连接SQL Server数据库
import java.sql.*;
public class Test
public static void main(String[] srg)
//加载JDBC驱动
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
String userName = "sa"; //默认用户名
String userPwd = "123456"; //密码
Connection dbConn;
try
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!"); //如果连接成功 控制台输出
catch (Exception e)
e.printStackTrace();
参考下,java连接sqlserver
以上是关于数据库mysql里的数据 与sqlserver里的数据同步的主要内容,如果未能解决你的问题,请参考以下文章
请教,怎么将mysql里的大数据同步到 sqlserver2008里
如何将java程序里的一段连接mysql的语句转为连接sqlserver语句。连接的是sqlser
请教,怎么将mysql里的大数据同步到 sqlserver2008里