用ADO.NET进行数据库同步。
部分代码如下:SqlSyncAdapterBuilder builderCustomerPhone = new SqlSyncAdapterBuilder((SqlConnection)serverSybcOrivuder.Connection); builderCustomerPhone.TableName = "dbo.CustomerPhone";
builderCustomerPhone.SyncDirection = SyncDirection.Snapshot; builderCustomerPhone.DataColumns.Add("CustomerId");
builderCustomerPhone.DataColumns.Add("CustomerName");
builderCustomerPhone.DataColumns.Add("PhoneNumber");
builderCustomerPhone.DataColumns.Add("PhoneType");
builderCustomerPhone.FilterClause = "PhoneNumber <> ''"; SyncAdapter customerPhoneSyncAdapter = builderCustomerPhone.ToSyncAdapter();
customerPhoneSyncAdapter.TableName = "CustomerPhone";
serverSybcOrivuder.SyncAdapters.Add(customerPhoneSyncAdapter); SyncTable customerPhoneSyncTable = new SyncTable("CustomerPhone");
customerPhoneSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerPhoneSyncTable.SyncDirection = SyncDirection.Snapshot; syncAgent.Configuration.SyncTables.Add(customerPhoneSyncTable);我想知道有没有直接通过SQL语句来写的方法,不愿意通过一个一个列加进去。
还有就是如果将服务器的数据表和列同步到本地来,数据表和列进行改名。
部分代码如下:SqlSyncAdapterBuilder builderCustomerPhone = new SqlSyncAdapterBuilder((SqlConnection)serverSybcOrivuder.Connection); builderCustomerPhone.TableName = "dbo.CustomerPhone";
builderCustomerPhone.SyncDirection = SyncDirection.Snapshot; builderCustomerPhone.DataColumns.Add("CustomerId");
builderCustomerPhone.DataColumns.Add("CustomerName");
builderCustomerPhone.DataColumns.Add("PhoneNumber");
builderCustomerPhone.DataColumns.Add("PhoneType");
builderCustomerPhone.FilterClause = "PhoneNumber <> ''"; SyncAdapter customerPhoneSyncAdapter = builderCustomerPhone.ToSyncAdapter();
customerPhoneSyncAdapter.TableName = "CustomerPhone";
serverSybcOrivuder.SyncAdapters.Add(customerPhoneSyncAdapter); SyncTable customerPhoneSyncTable = new SyncTable("CustomerPhone");
customerPhoneSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
customerPhoneSyncTable.SyncDirection = SyncDirection.Snapshot; syncAgent.Configuration.SyncTables.Add(customerPhoneSyncTable);我想知道有没有直接通过SQL语句来写的方法,不愿意通过一个一个列加进去。
还有就是如果将服务器的数据表和列同步到本地来,数据表和列进行改名。
SyncAdapter syncAdapter = new SyncAdapter("customers");
System.Data.SqlClient.SqlCommand selectIncInsertCmd = this.serverConn.CreateCommand();
selectIncInsertCmd.CommandText = "select CustomerID,CompanyName,ContactName from customers";
syncAdapter.SelectIncrementalInsertsCommand = selectIncInsertCmd;
serverProvider.SyncAdapters.Add(syncAdapter);
以前一直使用RDA通过IIS连接到数据库,但是用ADO.NET,如果要远程连接到SQL Server,那么是不是要把SQL Server放到网络是呢?这样对数据库的安全是不是影响很大?