Добрый день. Уважаемые гуру прошу у Вас помощи...
Настраиваю синхронизацию между MS SQL Server 2000 и SQL Server CE
Вот кусок кода который заливает таблицу на КПК в SQL Server CE
string rdaOleDbConnectString = "Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog=testdb;Data Source=oraserv";
SqlCeRemoteDataAccess rda = null;
try
{
rda = new SqlCeRemoteDataAccess("http://ORASERV/SQL/sqlcesa30.dll", "", "", @"Data Source=My Documents\db.sdf");
rda.Pull("kkk", "SELECT a FROM testrm", rdaOleDbConnectString, RdaTrackOption.TrackingOn);
}
..................................
Насколько я понял таблицы"kkk" не должно быть в базе SQL Server CE, иначе он ругается говорит что "The localTableName parameter is already specified. [Table name=kkk]".
Допустим таблицы kkk нет в базе SQL Server CE, тогда Pull проходит на отлично, далее для того чтоб получить изменения в этой таблице пишу такой кусок кода :
string rdaOleDbConnectString = "Provider=SQLOLEDB.1;Password=1;Persist Security Info=True;User ID=sa;Initial Catalog=testdb;Data Source=oraserv";
SqlCeRemoteDataAccess rda = null;
try
{
rda = new SqlCeRemoteDataAccess("http://ORASERV/SQL/sqlcesa30.dll", "", "", @"Data Source=My Documents\db.sdf");
rda.Push("kkk", rdaOleDbConnectString, RdaBatchOption.BatchingOff);
}
Изменения вычитываются и заливаются в MS SQL Server 2000, но проблема возникает когда нужно снова залить эту таблицу на КПК в SQL Server CE, т.к. таблица существует он ругается , я думал его обдурить типа drop table kkk , таблица грохается, но в таблице __SysRdaSubscriptions остаётся ссылка на имя этой таблицы и когда я ещё раз пытаюсь сделать Pull, у меня выскакивает Exception типа нельзя с таким же именем создавать ещё одну таблицу.
PS. RdaBatchOption.BatchingOff ставил и RdaBatchOption.BatchingON
и Вот собственно вопрос как загружать таблицу(ы) в SQL Server CE и потом получать все изменения которые были сделаны в ней, как по мне немного глупо было бы каждый раз заливать таблицу с новым именем......