C# и .CDB

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пт фев 02, 2007 13:05

Admin_Vlad, а документацию читал? в инете искал?

PS. Так почему бы не делать это на большом, компе а не на КПК?

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пт фев 02, 2007 13:06

Admin_Vlad писал(а):ALTER TABLE tT ADD sRussian VARCHAR(30), ADD sRussian2 VARCHAR(30) Не работает
"Data type is not valid."

Вот так работает!:
CREATE TABLE tT (i INT NOT NULL PRIMARY KEY);
ALTER TABLE tT ADD COLUMN sRussian INT;

Стоит поменять тип - не работает

Малоизвестную базу данных ставить - несолидно будет для резюме.
Не работает это как? На что ругается?

Несолидно будет не иметь знаний. Дело не в громкости названия СУБД, а в умении владеть SQL'ем.

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пт фев 02, 2007 13:14

Вдогонку:
есть волшебное слово - MSDN. Знаком?

Admin_Vlad
Аспирант (2 lvl)
Сообщения: 65
Зарегистрирован: Пт авг 29, 2003 16:53

Сообщение Admin_Vlad » Пт фев 02, 2007 13:33

У меня MSDN не установлена
А поиск на msdn.microsoft.com оставляет желать лучшего

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пт фев 02, 2007 13:38

Admin_Vlad писал(а):У меня MSDN не установлена
А поиск на msdn.microsoft.com оставляет желать лучшего
Ну не надо :)
Поиск там нормальный, учитывая что известно какой продукт используешь:
за 2 минуты нашел - http://msdn2.microsoft.com/en-us/librar ... L.80).aspx
Типа vachar - нет. То, что я писал выше - проверял на "большом" MS SQL'е, который у меня под рукой.

Аватара пользователя
inter189
Доктор (4 lvl)
Сообщения: 431
Зарегистрирован: Ср дек 20, 2006 12:23

Сообщение inter189 » Пн фев 05, 2007 09:40

админ_владу:
здесь скачай "SQL Server Mobile Books Online" (2мб)
http://www.microsoft.com/sql/editions/s ... loads.mspx

внимательно прочитай и вопросы а ля "Data type is not valid." у тебя отпадут сами собой.

Согласен, sql mobile очень ограниченная в плане функционала штука и много чего, что, по-хорошему, ему бы неплохо уметь, он не умеет. Однако, в плане перспектив на будущее, выглядит очень привлекатально. И, опятть же, если от БД не уйти, а админ владу деваться, я так понимаю, некуда в этом плане, то "захламлять" машину какой-то субд всеравно придется. Почуму бы и не sql mobile (пакет=669кб) ?

По поводу sqlite: igorekk, а вы сами пытались на нем что-то сделать ? какими преимуществами, по вашему, eSQL от Vieka, обладет перед sql mobile ? или, быть может, есть еще жизнеспособные варианты ?
[/quote]
если вы должны мне денег, срочно свяжитесь со мной, чтобы отдать долг

Admin_Vlad
Аспирант (2 lvl)
Сообщения: 65
Зарегистрирован: Пт авг 29, 2003 16:53

Сообщение Admin_Vlad » Пн фев 05, 2007 09:59

inter189, спасибо.
В меню MS SQL Server Mobile я нашел список поддерживаемых типов. Выставил smallint и ntext. Странно, что когда создаешь столбец для уникального идентификатора - вылетает ошибка.

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пн фев 05, 2007 10:14

inter189, и пытался и делал. Он намного быстрее. Для embedded-приложений он является наиболее подходящим вариантом.

PS. Плюс всегда можно самому реализовать какую-нибудь фичу ибо сорцы доступны.

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пн фев 05, 2007 10:15

Admin_Vlad, зачем ntext? Он же очень большой. Для твоего приложения вполне хватит и nvarchar.

Admin_Vlad
Аспирант (2 lvl)
Сообщения: 65
Зарегистрирован: Пт авг 29, 2003 16:53

Сообщение Admin_Vlad » Пн фев 05, 2007 11:52

Я подумал, что незачем ограничивать если конечно не будет резервироваться по 2Mb под каждую ячейку

Аватара пользователя
inter189
Доктор (4 lvl)
Сообщения: 431
Зарегистрирован: Ср дек 20, 2006 12:23

Сообщение inter189 » Пн фев 05, 2007 11:59

Признаться мой опыт программирования под wm пока еще очень не велик.

igorekk, для своих разработок вы использовали eSQL (на сайте http://www.sqlite.org/cvstrac/wiki?p=ManagementTools я нашел только его в качестве решения для wm) или сами компилировали для себя sqlite из исходников http://www.sqlite.org/download.html ?

Можно поподробнее на эту тему ? думаю всем будет очень интересно
если вы должны мне денег, срочно свяжитесь со мной, чтобы отдать долг

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пн фев 05, 2007 12:09

inter189, я не разрабатываю под WM :)
Я использовал для разработок под linux, поэтому использовал голую консоль для проектирования базы данных. Вряд ли это будет интересно кому-либо из участников форума...

Аватара пользователя
inter189
Доктор (4 lvl)
Сообщения: 431
Зарегистрирован: Ср дек 20, 2006 12:23

Сообщение inter189 » Пн фев 05, 2007 13:44

хм... если вы не вели разработок под wm, тогда как можете утверждать, что sql mobile менее производителен и удобн чем sqlite ?

на сколько показывает мой опыт разработок, под wm наиболее оптимален c#.net vs sql mobile (ввиду ограниченности альтернатив).
eSQL также доступен под .net (возможно что-то еще, подробно вопрос не изучал), но зачем его юзать? На мой взгляд, разумнее использовать ПО одного разработчика, если нет веских причин против ? а что-то не слышно, чтобы народ сильно ругал или хвалил то или иное решение
если вы должны мне денег, срочно свяжитесь со мной, чтобы отдать долг

Аватара пользователя
igorekk
Модератор
Сообщения: 3788
Зарегистрирован: Ср июн 04, 2003 15:03

Сообщение igorekk » Пн фев 05, 2007 14:15

inter189, я не говорил насчёт "менее удобен".

а насчёт производительности можно говорить хотя бы по тому, что sqlite реально используется во встраиваемых системах. но это всё голая теория с моей стороны, не буду отрицать :)

Насчёт разумности использования ПО от одного разработчика я не согласен. Но это уже тема для другой дискуссии.

Admin_Vlad
Аспирант (2 lvl)
Сообщения: 65
Зарегистрирован: Пт авг 29, 2003 16:53

Сообщение Admin_Vlad » Пн фев 05, 2007 14:21

Я не ожидал, что Microsoft создаст нерешаемую проблему для программистов баз данных в Windows Mobile.

1. Программирование СУБД усложнена
2. Считывание из .CDB не работает
Ошибка в: label1.Text = (string)objectRS.Fields["sRus"].Value; Хотя данные в таблице есть!

3. Судя по тому, что я прочел в Интернет, нет возможности для репликации базы данных из десктопной версии MS SQL Server 2003 SP3 и MS SQL Server 2005 на MS SQL Server 2005 Mobile
4. Нет возможности перенести базу данных из txt в MS SQL Server 2005 Mobile
Простой код вызывает критическую нехватку памяти на Pocket PC. Текстовые файлы по 1Mb.
--------------------------------------------------------
//Открываем соединение с базой данных
SqlCeConnection Conn = new SqlCeConnection("Data source = \\My documents\\db.sdf");
Conn.Open();
//Открываем файл
StreamReader sr = File.OpenText("\\My documents\\Eng4Rus.txt");
StreamReader sr2 = File.OpenText("\\My documents\\Eng4Eng.txt");
//Читаем файл
int iI = 0;
string strLoadString = sr.ReadLine();
string strLoadString2 = sr2.ReadLine();
while (strLoadString != null)
{
SqlCeCommand SqlCom = Conn.CreateCommand();
iI=iI++;
SqlCom.CommandText = "INSERT INTO tT (siID,ntRussian,ntEnglish) VALUES(" + iI + ",'" + sr + "','" + sr2 + "')";
SqlCom.ExecuteNonQuery();
strLoadString = sr.ReadLine();
strLoadString = sr2.ReadLine();
}--------------------------------------------------------------
5. Скачанный для решения этой проблемы эмулятор WM5 не инсталлируется так как требует вставить CD с определенной пометкой в CD-ROM откуда он и собирается инсталлироваться.

УВОЛИТЬ ВСЕХ ОТВЕТСТВЕННЫХ ЛИЦ ИЗ MICROSOFT! Я ЗАБОДАЛСЯ. 2 недели потратил на попытку программного обращения к базам данных в Windows Mobile 2003

Закрыто

Вернуться в «Программирование для КПК»