Kingbase FlySync 是北京人大金仓信息技术股份有限公司面向异地容灾、数据集中共享与分发、数据分析平台建设、云迁移等场景,推出的在异构数据平台间实现实时、增量数据同步的产品。Kingbase FlySync采用物理日志解析技术,帮助用户实现数据在不同数据平台间可任意方向实时移动流转的问题,并保证此过程中数据不丢失、状态可监控、流转数据量可统计,具有如下优点:
1、异构数据同步
统一开放、模块化的架构
支持多种异构源(Oracle、SQL Sever、MySQL)和同步目标(Oracle、Kingbase ES、MySQL),并且在持续新增中。
2、数据同步实时性
大数据量 “毫秒” 级同步
3、生产系统“零”干扰
源端增量数据采集使用日志硬解析的方式,对源端数据库零干扰
4、高可靠
以事务为单位,保证交易完整性和一致性
多机制断点续传保障
软件、节点故障自动恢复
5、图形化数据校验
提供同步结果自动比对能力,自动生成同步报告
保证数据的一致性并有据可依
6、提供可视化监控看板
轻松查看拓步、同步状态、速率进度信息等
金仓数据库 ?-----------------------给你一段C# *** 作sqlserver的示例代码
1.数据库建表,
create table mytable(
pkid nvarchar(40) not null,
a nvarchar(40) null
)
insert into mytable(pkid,a) values(newid(),'测试')
2.新建对应此表的实体类
[Serializable]
public class mytable
{
private String _pkid = ""
public String pkid
{
get { return _pkid}
set { _pkid = value}
}
private String _a = ""
public String a
{
get { return _a}
set { _a = value}
}
}
3.新建 *** 作类:
public class mytableDAO
{
private String _ConnectionString
public mytableDAO(String ConnectionString)
{
this._ConnectionString = ConnectionString
}
public int New(Entities.MsgRecord obj)
{
String sql = "insert into mytable(pkid,a) values(@pkid,@a)"
SqlConnection cn = new SqlConnection(this._ConnectionString)
SqlCommand cmd = new SqlCommand(sql, cn)
cmd.Parameters.AddWithValue("@a", obj.a)
cmd.Parameters.AddWithValue("@pkid",
String.Empty.Equals(obj.pkid) ? System.Guid.NewGuid().ToString() : obj.pkid)
try
{
if (cn.State != ConnectionState.Open)
cn.Open()
return cmd.ExecuteNonQuery()
}
catch
{
return -1
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close()
}
}
public int Update(Entities.mytable obj)
{
String sql = "Update mytable Set a=@a Where pkid=@ObjectID"
SqlConnection cn = new SqlConnection(this._ConnectionString)
SqlCommand cmd = new SqlCommand(sql, cn)
cmd.Parameters.AddWithValue("@a", obj.a)
cmd.Parameters.AddWithValue("@pkid", obj.pkid)
try
{
if (cn.State != ConnectionState.Open)
cn.Open()
return cmd.ExecuteNonQuery()
}
catch
{
return -1
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close()
}
}
public int Del(Entities.mytable obj)
{
String sql = "delete from mytable Where pkid=@ObjectID"
SqlConnection cn = new SqlConnection(this._ConnectionString)
SqlCommand cmd = new SqlCommand(sql, cn)
cmd.Parameters.AddWithValue("@ObjectID", obj.pkid)
try
{
if (cn.State != ConnectionState.Open)
cn.Open()
return cmd.ExecuteNonQuery()
}
catch
{
return -1
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close()
}
}
public int Del(String where)
{
String sql = String.Format("delete from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", ""))
SqlConnection cn = new SqlConnection(this._ConnectionString)
SqlCommand cmd = new SqlCommand(sql, cn)
try
{
if (cn.State != ConnectionState.Open)
cn.Open()
return cmd.ExecuteNonQuery()
}
catch
{
return -1
}
finally
{
if (cn.State != ConnectionState.Closed)
cn.Close()
}
}
public DataTable Query(String where)
{
String sql = String.Format("select * from mytable Where {0}", where.ToLower().Replace("update", "").Replace("delete", "").Replace("insert", "").Replace("", "").Replace("--", "").Replace("exec", ""))
try
{
SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(this._ConnectionString))
DataTable dt = new DataTable()
da.Fill(dt)
return dt
}
catch
{
return null
}
}
}
4.在ui中调用:
4.1 新增:
private void NewData()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn)
mytable obj=new mytable()
obj.a=this.txtbox_a.Text
obj.b=this.txtbox_b.Text
obj.c=this.txtbox_c.Text
dao.New(obj)
}
4.2 取数据绑定GridView
private void LoadData_InitGridView()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn)
Table dt=dao.Query(String.Format(" a ='{0}'",this.txtbox_a.Text))
//gridview
this.GridView1.DataSource=dt
this.GridView1.DataBind()
//textbox control
this.textbox_a.Text=dt.Rows[0][0].ToString()
}
4.3删除
private void Del()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn)
//根据条件删除指定记录
dao.Del(where)
}
4.4更新
private void Update()
{
String conn=System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
mytableDao dao=new mytableDao(conn)
dao.Update(obj)//obj 为mytable的一个实例:需要更新的
}
5.配置文件中连接信息
<connectionStrings>
<add name="dbCon" connectionString="Data Source=192.168.1.100Initial Catalog=NorthwindUser ID=saPassWord=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
6.读取连接信息
System.Configuration.ConfigurationManager.ConnectionStrings["dbCon"].ConnectionString
1、新增用户qianyi赋予权限。2、创建一个新库qianyidb。
3、创建模式,这里两行的qianyidb不一样,第一行的qianyidb表示数据库,第二行的qianyidb表示模式。
4、迁移数据,将原数据迁移到qianyi用户的qianyidb模式下即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)