sql server compact 3.5 连接 sql server 2005 使用同步复制、RDA(一)

1.开发环境:开发工具和服务器在同一台机器上,windows xp sp3 +iis,sql server 2005 sp4 + sql server compact 3.5 server tool sp2 ,VS2008,wce5.0+sql server compact 3.5。

2.配置虚拟名录,开始》程序》sql server compact 3.5》配web同步向导,别名为sqlce35。其他配置请参考相关文档。

3.RDA 远程数据同步,

保证本地数据库存在,目录是/Micro_sd/test.sdf。

pull:先在sql server 2005 中建立数据库和表,将要被移动数据设备拉到本地,如果表已在本地存在,拉动作会报错。假设数据库是DSHG,表名是operator。超级管理员sa,密码是:123456.

在VC#2008新建项目,添加引用using System.Data.SqlServerCe,加入以下代码

 private void push_Click(object sender, EventArgs e)
        {

           string rdaOleDbConnectString = @"Provider=SQLOLEDB; Data Source=服务器机器名;  Initial Catalog=DSHG; User Id=sa;  Password = 123465";

            // Initialize RDA Object
                        SqlCeRemoteDataAccess rda = null;    
            try
            {

                   rda = new SqlCeRemoteDataAccess(
                    "http://192.168.1.118/sqlce35/sqlcesa35.dll",
                    "Administrator",
                    "094182",
                    "Data Source=//Micro_sd//test.sdf");

                    rda.Pull("operator", "SELECT * FROM operator", rdaOleDbConnectString,
                     RdaTrackOption.TrackingOn, "ErrorTable");// 成功  

                            }
            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);  
                
            }
            finally
            {
                rda.Dispose();
            }
        }

 

4.push 推动作,把在本地的改动反馈给服务器。

string rdaOleDbConnectString = @"Provider=SQLOLEDB; Data Source=服务器机器名;  Initial Catalog=DSHG; User Id=sa;  Password = 123465";

            // Initialize RDA Object
                        SqlCeRemoteDataAccess rda = null;    
            try
            {       rda = new SqlCeRemoteDataAccess(
                    "http://192.168.1.118/sqlce35/sqlcesa35.dll",
                    "Administrator",
                    "094182",
                    "Data Source=//Micro_sd//test.sdf");

                     rda.Push("operator", rdaOleDbConnectString, RdaBatchOption.BatchingOn);//成功,可以提交             

              }


            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);  
                
            }
            finally
            {
                rda.Dispose();
            }
        }

 

5.SubmitSql :提交sql 语句

 

string rdaOleDbConnectString = @"Provider=SQLOLEDB; Data Source=服务器机器名;  Initial Catalog=DSHG; User Id=sa;  Password = 123465";

            // Initialize RDA Object
                        SqlCeRemoteDataAccess rda = null;    
            try
            {       rda = new SqlCeRemoteDataAccess(
                    "http://192.168.1.118/sqlce35/sqlcesa35.dll",
                    "Administrator",
                    "094182",
                    "Data Source=//Micro_sd//test.sdf");

                     rda.SubmitSql(" insert into operator (id,name,pwd) values('10002','张朋','123')",

                     rdaOleDbConnectString);//成功          

              }


            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);  
                
            }
            finally
            {
                rda.Dispose();
            }
        }

 


 

你可能感兴趣的:(C#)