RDA (SqlCeRemoteDataAccess)
От: serg23  
Дата: 05.07.06 07:32
Оценка:
Добрый день. Уважаемые гуру прошу у Вас помощи...

Настраиваю синхронизацию между 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 и потом получать все изменения которые были сделаны в ней, как по мне немного глупо было бы каждый раз заливать таблицу с новым именем......
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.