Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Доступ с КПК к MSSQL server  [new]
mihnik
Guest
Есть задачка - написать приложение для работы с КПК напрямую с SQL server -ом.
Оборудование:
КПК - Toshiba e755 с Wifi, OS - Pocket PC 2003.
Access Point,
Внешний SQL server 2000 на компьютере с Os Win2000.
Среда разработки - MS C#(Compact Framework)
Так же были попытки использлвать MS eMbedded VC 4, но с тем же результатом
Wifi - cеть на КПК нормально настроена, Он пингуется и видится ActiveSync.

То, что предлагает Microsoft для такой работы - это внутренний MSSQL CE + "merge" репликация через ActiveSync + обязательно установленный IIS на компьтере с MSSQL 2000 server. Такое решение , мягко говоря, не очень устраивает - мало того, что IIS лишний ставить. так и онлайновой работы не получается - все через репликацию, а репликация у MSSQL - слабое место.

Поддерка ADOCE в PocketPC 2003 прекращена.

Попробовал использовать

System.Data.SQLClient: вроде ничего не сказано об ограничении на подключение к внешнему

SqlConnection MyConn = new SqlConnection("Persist Security Info=False;User ID=sa;Initial Catalog=MyDatabase;Data Source=Server");

MyConn.Open(); // но в этом месте выдает Exception System.Data.SQLClient.SQLException:SQLException без всяких кодов и пояснений.

Несколько дней искал по Инету и MSDN - без особого результата.
Что делать - можно ли вообще поключиться к внешней БД???
Что для этого нужно???

С уважением.
Николай.
23 дек 03, 11:48    [470511]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
SqlConnection MyConn = new SqlConnection("Persist Security Info=False;User ID=sa;Initial Catalog=MyDatabase;Data Source=Server");


Может глюки у меня, но разве провайдера в строке подключения не надо укапзывать? Provider = SQLOLEDB;
23 дек 03, 11:51    [470519]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
2 pkarklin

Нет не надо. Это новый провайдер от .NET, называется, если мне не изменяет склероз SqlClient.

2 mihnik

У меня, при построении коннекции мастером в строке есть ещё workstation Id и немного по другому написан Data Source. Поспрашивай тут
https://www.sql.ru/forum/actualtopics.aspx?bid=12
https://www.sql.ru/forum/actualtopics.aspx?bid=34
https://www.sql.ru/forum/actualtopics.aspx?bid=35
23 дек 03, 12:00    [470532]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
mihnik
Guest
To pkarklin

Угу. Но это если из под обычного пишешь.

Если вставить "Provider=SQLOLEDB.1...

Получаем при выполнении

An unhandled exception of type 'System.ArgumentException' occurred in System.Data.SqlClient.dll

Additional information: Unknown connection option in connection string: provider.

Вот отсюда делаем вывод о неприменимости самого параметра provider, а не о его неверном значении.
23 дек 03, 12:16    [470564]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
а чем не устраивает работа через стандартный вариант 3 х звенки

MSSQL + IIS (ASP) = динамическая вебстраничка

КПК имеет веббраузер?
к тому же не придется писать софт отдельно для кпк отдельно для PC

или нужна оффлайновая версия?
23 дек 03, 12:32    [470599]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
avg
Member

Откуда:
Сообщений: 238
2 mihnik
автор
System.Data.SQLClient: вроде ничего не сказано об ограничении на подключение к внешнему

SqlConnection MyConn = new SqlConnection("Persist Security Info=False;User ID=sa;Initial Catalog=MyDatabase;Data Source=Server");

MyConn.Open(); // но в этом месте выдает Exception System.Data.SQLClient.SQLException:SQLException без всяких кодов и пояснений.


Так нельзя соединится через кредл, можно если только есть сетевое соединение.
Выдержка из MSDN:

Only TCP/IP connections to an instance of SQL Server are supported. System.Data.SqlClient cannot connect to SQL Server through a device cradle.


Можно, если не нравится репликация, попользовать RDA, но ISS все равно нужен :(
23 дек 03, 12:34    [470605]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Ухожу, ухожу. :-) На .NET и суда нет. :-))))
23 дек 03, 13:01    [470687]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
mihnik
Guest
To avg:

Я и соединяюсь через Tcp/Ip (WiFi-сеть). Через TCP/IP же работает и ActiveSync и VS.Net закачивает приложения на КПК - очень удобно...
но соединиться с БД я е могу.. :(

Николай
23 дек 03, 13:02    [470691]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
avg
Member

Откуда:
Сообщений: 238
2 mihnik

У меня тоже не получилось напрямую. Но у меня нет Wi-Fi, сейчас мучаю RDA. Сообщи сюда или в мыло если что раскопаешь. Очень интересно.
23 дек 03, 16:02    [471061]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
dkost
Member

Откуда:
Сообщений: 5
У меня сейчас та же проблема необходимо установить доступ к данным MSSQL 2000 server с КПК - HP iPAQ с Wi-Fi. RDA еще не пробовал. Не у кого соображений на этот счет не появилось? Буду очень признателен.
3 мар 04, 17:02    [562004]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Доступ с КПК к MSSQL server  [new]
Vladimir_IS
Member

Откуда:
Сообщений: 13
Господа! Так до чего же договорились?
Проблема аналогичная. Так ли уж обязателен IIS?
Среда разработки - eVC 4.
29 сен 05, 12:20    [1922078]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
непонятно что надо ..

оффлайновая версия базы данных и клиента или только когда кпк на связи?

если только когда на связи то можно для кпк которые обладают достаточным разрешением (вроде от 640*480) вообще не разрабатывать отдельного клиента
а пользоваться имеющимся для обычных компов - через терминальный сервер

а на кпк запустить только клиента служб терминалов
29 сен 05, 12:26    [1922127]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Vladimir_IS
Member

Откуда:
Сообщений: 13
Все по порядку:
есть КПК (с обычным разрешением - 320х240). На нем стоит приложение и SQLCE 2.0. Пользователь работает с своей базой в автономном режиме.
По необходимости (1-2 раза в день), конектится по вай-фай к базе на "большом" сервере (SQL2000) выгружает туда свои данные и берет свежие.
Интересует самый простой и достаточно надежный способ обмена данными.
Как мне кажется, если бы можно было прямо с КПК посылать прямые запросы SQL2000 - было бы прекрасно.
29 сен 05, 12:45    [1922287]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
где то было что OS Windows Mobile 2003 Second Edition
имеет встроенного клиента служб терминалов

не знаю точно будет ли она работать на конкретном КПК и заработает ли в этом режиме терминальный клиент - надо пробовать

по крайней мере это будет очень быстрым и элегантным решением
автор
Как мне кажется, если бы можно было прямо с КПК посылать прямые запросы SQL2000 - было бы прекрасно.


даже не запросы посылать а просто эмуляция экрана настольного компа
клиент базы данных будет крутиться на стационарнике
29 сен 05, 13:06    [1922449]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Терминальное решение нормально работает и мы его используем, но никакого отношение к поставленной mihnik задачи это не имеет.. В терминальном решении можно вообще не писать своего клиента для PocketPC, он все равно запускается на терминальном сервере. Гланое, чтобы эранные формы работали нормально в режиме 302 на 246 точек (для QVGA) :(
С уважением, Алексей.
29 сен 05, 13:20    [1922560]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Vladimir_IS
Member

Откуда:
Сообщений: 13
Чесно говоря, не представляю как это все в реале сделать (клиент, который работает с разными вариантами баз: *.sdf и *.mdf).
Раньше я работал с Pocket Access. После коннекта ПК забирал (с одновременной конвертацией) базу к себе. Последующая обработка происходила на ПК. Аналогично - подготовка данных на ПК и перенос на КПК.
С SQL такой вариант не проходит. С КПК SQLCE базу (*.sdf) на сервер скопировать то можно и все...
Майкрософт конечно предлагает свой вариант обмена данными с использованием IIS, но такое уныние от их решения.Как-то громоздко и не прозрачно...
29 сен 05, 13:25    [1922596]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Ну если вопрос в том, что на КПК стоит SQL CE и надо переодически перебрасывать данные в основной SQL Server, то вам надо обратить внимание на решение с помощью репликации.
С уважением, Алексей.
29 сен 05, 13:35    [1922669]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Vladimir_IS
Member

Откуда:
Сообщений: 13
Значица других вариантов нет...
Спасибо.
29 сен 05, 14:15    [1922940]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
попробовал, все работает (cf/c#/ipaq2110) ... строку подключения просто скопировал из аксесного проекта, выкинув provider и data provider

try
{
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection("Persist Security Info=False;Data Source=xps;User ID=sa;pwd=1234;Initial Catalog=northwind;");
cn.Open();
System.Data.SqlClient.SqlCommand cc = new System.Data.SqlClient.SqlCommand("create table aaa(id int)", cn);
cc.ExecuteNonQuery();

}
catch (System.Data.SqlClient.SqlException ex)
{
MessageBox.Show(ex.Message);
}

>MyConn.Open(); // но в этом месте выдает Exception System.Data.SQLClient.SQLException:SQLException без всяких кодов и пояснений.<
ой ли? - там есть кнопка, по которой видно доп. сведения ...
30 сен 05, 14:50    [1927552]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
Vladimir_IS
Member

Откуда:
Сообщений: 13
Я так понимаю что в c# можно коннектиться без RDA и IIS?
Хм... в eVC бы такое...
30 сен 05, 15:13    [1927693]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
>Я так понимаю что в c# можно коннектиться без RDA и IIS?<
да, как раз классы вот отсюда - System.Data.SqlClient - это позволяют
30 сен 05, 15:30    [1927809]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Доступ с КПК к MSSQL server  [new]
odf
Member

Откуда:
Сообщений: 4
а в compact framework System.Data.SqlClient вообще есть?
12 янв 07, 14:56    [3633303]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
iSestrin
Member

Откуда: Новосибирск
Сообщений: 3811
есть ... references->add reference...
12 янв 07, 15:38    [3633656]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Доступ с КПК к MSSQL server  [new]
michaeladm
Member

Откуда: Киев
Сообщений: 14
Господа. Хотелось бы оживить тему.
Кто-то может подсказать в чем проблема? Собрал тестовое приложение C# VS2008 для Windows Mobile 6, которое должно соединится с MS SQL server 2008 R2 При установке соединения ошибка №6. Похожее приложение под WinXP работает.
Если делаю через мастер создания источника данных - подключается, данные видит, а запускаю построение под целевую платформу - ошибка подключения к серверу.
Если руками:

string connStr = @"Data Source=192.168.1.111;Initial Catalog=TestDB;Persist Security Info=true;User ID=test;Password=test;";
SqlConnection conn = new SqlConnection(connStr);
conn.Open(); //ОШИБКА!
Пробовал и на эмуляторе, и на девайсе. TCP настроил, ус-ва пингуются, сеть на них тоже работает. Я, правда, не спец в C#, нужно было быстро разработать небольшое приложение. Посмотрел видеоуроки, почитал литературу. Должно быть просто до безобразия... Куда копать??? В чем глюк??? Заметил, что приложение под WinXP работает не через System.Data.SqlClient может все начинается отсюда?
27 фев 12, 14:52    [12157478]     Ответить | Цитировать Сообщить модератору
 Re: Доступ с КПК к MSSQL server  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
michaeladm
При установке соединения ошибка №6.


Телепаты временно перемещены на профилактику в палату №6, а поэтому текст ошибки с тем же номером - в студию.
27 фев 12, 17:58    [12159419]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить