powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Другие: Mac OS, PalmOS, BeOS, PocketPC [игнор отключен] [закрыт для гостей] / RDA SQL Server CE и MS SQL Server 2000
5 сообщений из 5, страница 1 из 1
RDA SQL Server CE и MS SQL Server 2000
    #33832247
Sergey23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день. Уважаемые гуру прошу у Вас помощи...

Настраиваю синхронизацию между MS SQL Server 2000 и SQL Server CE
Вот кусок кода который заливает таблицу на КПК в SQL Server CE

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
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 проходит на отлично, далее для того чтоб получить изменения в этой таблице пишу такой кусок кода :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    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 и потом получать все изменения которые были сделаны в ней, как по мне немного глупо было бы каждый раз заливать таблицу с новым именем...... :-\
...
Рейтинг: 0 / 0
RDA SQL Server CE и MS SQL Server 2000
    #33868100
Riven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликация с мобайл сиквелом очень мутная, хоть обычная, хоть с помощью RDA. С полгода назад я их "пощупал" и послал нафиг (тестил на SQL Server 2005 Mobile Edition - SQL CE 3.0). Плюс ко всему у меня еще возникли проблемы с правами доступа в IIS'е (ИМХО, абсолютно лиший слой)

Я как-то занимался этим вопросом (и сейчас занимаюсь), правда, мне нужна заливка целых таблиц (а не отдельных записей). Для переливки данных с компа на PDA я юзаю System.Data.SqlClient (такая же сборка есть для десктопного фрэймворка), все супер. Для обратной связи я написал сокет-сервер на десктопе и прогу для отправки на PDA и организовал нечто вроде протокола передачи записей. ИМХО, гемора меньше, чем со стандартной репликацией. Хоть "слой" и самописный, но мне его менять проще, чем копаться в IIS'е :)

P.S. Кстати, не использовали случайно Oracle 9i (или 10g) Lite? (на сей вопрос меня побудило название вашего хоста :))
...
Рейтинг: 0 / 0
RDA SQL Server CE и MS SQL Server 2000
    #33868130
Sergey23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пытался я поставить и настроить Oracle 9i Lite, но что-то у меня не получилось :(
Он даже гад не захотел по нормально поставиться.

Если честно то у меня основная базе на оракле , но синхронизировать оракл с кпкшкой мне показалось что с этой задачей я могу возится не один месяц, по этому решил проще SQL Server2000 с ораклом соединить , а этот самый SQL Server2000 с SQL Server SE. Задачу я решил правда способ решения мне не сильно нравится но за не именеем лучшего......... я просто каждый раз на КПК грохай файл с базой и создаю его заново с нужными мне таблицами!

И мне бы ещё хотелось всё таки может хотя бы куски кода как Вы реализовали "репликацию" (синхронизацию)
...
Рейтинг: 0 / 0
RDA SQL Server CE и MS SQL Server 2000
    #33869812
Riven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сейчас не дома, кода под рукой нет.

Вот, здесь довольно подробно описано использование SqlClient. Его, кстати, можно использовать в обе стороны (выполнять SqlCommand и получать данные с пом. SqlDataReader). Чтобы протестировать (я тестировал на эмуляторе Windos Mobile 5.0), нужно "закредлить" эмулятор в Emulator Configuration Managere (все это в VS2005), т.к. соединение через SqlClient работает только по TCP/IP.

http://www.devbuzz.com/content/zinc_sqlclient_remote_sql_server_pg1.asp
...
Рейтинг: 0 / 0
RDA SQL Server CE и MS SQL Server 2000
    #33869839
Riven
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вкратце - я динамически составляю команду (SqlCommand для передачи данных на десктоп и SqlCeCommand для принятия данных на девайс) на insert, выбирая метаданные о столбцах с помощью метода GetSchemaTable класса SqlDataReader (в SqlCeDataReader такой, вроде, тоже есть). Сейчас все команды составляются только с помощью строк (потребовалось написать что-то вроде обертки для преобразования типов), но сегодня хочу поменять все под SqlParamaterы и SqlCeParameterы. Завтра-послезавтра напишу, получилось или нет :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Другие: Mac OS, PalmOS, BeOS, PocketPC [игнор отключен] [закрыт для гостей] / RDA SQL Server CE и MS SQL Server 2000
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]