资源描述:
《用rda方式同步sqlce与sqlserver数据库》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用RDA方式同步SQLCE与SQLSERVER数据库摘要:本文通过一个简单实例,介绍了在.环境下,如何利用RDA(RemoteDataAccess)方式进行SQLCE与SQLSERVER之间的数据库同步,并且如何使用SQLCE的相关类创建和访问SQLCE数据库。关键词:RDA,SQLCE,SQLSERVER1引言SQLServerCE(SQLCE)是一款运行在icrosoftVisualStudio2005,编程语言C#,数据库采用SQLServer2000,SQLServerMobileEdition2005(S
2、QLCE3.0),程序测试运行环境为obilev3.0目录下,文件名为Sqlce30setup.msi。安装SQLServerMobileEdition2005后,使用该程序菜单中的“配置.IO和System.Data.SqlServerCe。接着在e="rda.sdf";if(File.Exists(dbPathName))File.Delete(dbPathName);stringstrCon="DataSource="dbPathName";PassoteDataAccessrda=null;//SQLSer
3、ver所在的主机的IPstringremoteIP=tbRemoteIP.Text.Trim();//SQLServer中的数据库,名为ABCstringremoteDB="ABC";//数据库ABC的用户和密码stringuser="sa";stringpe="rda.sdf";stringlocalDB=dbPathName;//本地sqlce数据库密码stringlocalPoteIP";InitialCatalog="remoteDB";UserId="user";Password="pwd;//连12全文
4、查看接本地sqlce数据库的字符串,作为SqlCeRemoteDataAccess对象的一个参数stringlocalConnectString="DataSource="localDB";PassoteDataAccess();//由于虚拟目录sqlce3设置的访问方式为匿名,所以登陆名和密码可以忽略rda.InterLogin="";rda.InterPassoteIP"/sqlce3/sqlcesa30.dll";rda.LocalConnectionString=localConnectString;//执
5、行同步,SQLSERVER同步到sqlce//参数RdaTrackOption.TrackingOn指示SQLServerMobile跟踪对所提取表的所有更改。rda.Pull(table,"Select*from"table,rdaOleDbConnectString,RdaTrackOption.TrackingOn);RDA同步数据库主要是使用SqlCeRemoteDataAccess类。从别的数据库更新本地SQLCE数据库,使用SqlCeRemoteDataAccess类的Pull方法,该方法中的参数Rda
6、TrackOption.TrackingOn,可以让SQLCE跟踪对本地数据表的更改,从而可以用SQLCE同步SQLSERVER数据库。第三步,对SQLCE数据库进行修改,这一步只是为了演示用SQLCE同步SQLSERVER数据库而作准备。代码如下:conststringstrDatabase="DataSource=rda.sdf";SqlCeConnectioncon=null;con=nee='王一'";SqlCemandcmd=neand(strUpdate,con);cmd.ExecuteNonQuery
7、();cmd.Dispose();//插入一条新记录strUpdate="insertintoperson(card_id,name,age)values(10003,'李四',23)";cmd=neand(strUpdate,con);cmd.ExecuteNonQuery();cmd.Dispose();第四步,用SQLCE同步SQLSERVER2000数据库,也就是把SQLCE数据库修改过的记录更新到SQLSERVER2000数据库上。代码跟第一步所列代码基本一致,但只把第一步代码的最后两行关于pull方法的
8、代码,改为push方法代码,代码如下://执行同步,sqlce同步到SQLServer//参数RdaBatchOption.BatchingOn指示SQLServerMobile将推入SQLServer中的//所有行组成一批,归并到一个事务中。rda.Push("person",rdaOleDbConnectString,RdaBatchOption.Bat