C# и .CDB

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
admin_vlad2
Новенький (0 lvl)
Сообщения: 11
Зарегистрирован: Сб окт 28, 2006 09:06

C# и .CDB

Сообщение admin_vlad2 » Вт янв 23, 2007 19:07

Добрый день.
Не знаете почему не получается приконнектится к базе данных? Как это правильно сделать? Я уже измучался. Помогите пожалуйста.
------------------------------------------
SqlCeConnection conn = null;

try
{
conn = new SqlCeConnection("Data Source = \\My Documents\\db1.cdb; Password =''");
conn.Open();

SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT Russian2 FROM Translator2 WHERE English2='Hello')";

cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
-------------------------------------------------------------------------
Выдает "...database may be corrupted..."

admin_vlad2
Новенький (0 lvl)
Сообщения: 11
Зарегистрирован: Сб окт 28, 2006 09:06

Сообщение admin_vlad2 » Вс янв 28, 2007 03:36

Я думаю использовать Pocket Access, так ка не знаю как пользователь при инсталляции программы получит базу данных установленной на SQL server mobile.

Что за формат SDF? Слышал о нем но не знаю что это

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

Сообщение Admin_Vlad » Пн янв 29, 2007 22:37

Ну вот наример я сделаю CAB файл и при инсталляции он будет копировать несколько DLL, один EXE и одмн SDF?
А как сделать SDF если пока список данных у меня в .CDB?

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

Сообщение Admin_Vlad » Вт янв 30, 2007 04:42

А их нужно устанавливать?!!! :-(
Где их можно скачать?

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

Сообщение inter189 » Вт янв 30, 2007 09:16

в wm5, на сколько мне известно, Pocket Access уже не включается, и установить его не так то просто. Во всяуом случае я не нашел откуда его можно скачать в виде дистриба.

Таким образом тебе одна дорога на
http://www.microsoft.com/sql/editions/s ... fault.mspx
и sdf соответственно. Данные из cdf можно попробовать слить установив Microsoft SQL Server Mobile на эмуляторе с образом виндовс или реальном девайсе, включающими поддержку Pocket Access. Опять же, штатного средства, чтобы перелить данные из одной бд в другую нет. Придется прогу писать отдельно
если вы должны мне денег, срочно свяжитесь со мной, чтобы отдать долг

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

Сообщение Admin_Vlad » Вт янв 30, 2007 09:36

У меня WinCE 4.21
Сегодня написал программу которая соединяется с .cdb. Правда пока не получается данные считать. Не могу понять какой второй аргумент в db.Execute(string, out object, int)

Получается, что при инсталляции программы, пользователь должен будет инсталлировать MS SQL Server mobile, запустить программу для создания необходимой базы данных, а потом только саму утилиту.
Никто так делать не будет. Похоже Microsoft очередной раз опозорился.

Abby lingvo 8 для Pocket PC содержит в себе файлы .lsd
Похоже единственный путь делать .txt и шифровать их.

sshd
Нобелевский лауреат (7 lvl)
Сообщения: 2159
Зарегистрирован: Вс мар 19, 2006 15:55

Сообщение sshd » Вт янв 30, 2007 10:45

Admin_Vlad писал(а):Получается, что при инсталляции программы, пользователь должен будет инсталлировать MS SQL Server mobile, запустить программу для создания необходимой базы данных, а потом только саму утилиту.
нет, это ты должен заранее всё это сделать, а потом включить в дистриб базу уже в нормальном формате.
Admin_Vlad писал(а):Похоже Microsoft очередной раз опозорился
:)
Admin_Vlad писал(а):Abby lingvo 8 для Pocket PC содержит в себе файлы .lsd
да, LSD - это вариант...... и никаких баз данных не нужно......
Samsung GT-S8500 + MicroSD 8Gb

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

Сообщение Admin_Vlad » Вт янв 30, 2007 22:18

То есть надо поставить настольную и мобильную версию MS SQL server'а, затем сделать репликацию базы данных, потом, закачать ее на ПК с КПК, включить в дистрибутив .sdf, инсталлирование MS SQL server's и инсталлирование программы.

А .lsd - это формат словарей Abby?Никогда не слыгал ранее об этом формате.

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

Сообщение Admin_Vlad » Ср янв 31, 2007 05:08

Программа почти работает ;-) осталось пару ньюансов одолеть.
Не подскажите в чем ошибка?

Ошибка "CS1502: The best overloaded method match for 'ADOCE._Connection.Execute(string, out object, int)' has some invalid arguments"
----------------------------------------------------------------------------
Object one = new Object();

ADOCE.Connection objectConn = new ADOCE.Connection();
objectConn.Open("\\My documents\\db.cdb","","",0);

string sSql = "select Russian2 from Translator2 where English2 = 'Hello'";

ADOCE.Recordset objectRS = new ADOCE.Recordset();
objectRS=objectConn.Execute(sSql,one,1);

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

Сообщение inter189 » Ср янв 31, 2007 09:05

еще раз:
подавляющее большинство новых девайсов идет с wm5 в котором поддержки Pocket Access попросту нет. Во всяком случае в тех девайсах с wm5 которые попадались мне на глаза

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

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

Сообщение Admin_Vlad » Ср янв 31, 2007 10:15

Логично.
Значит они решили покончить с Pocket Access. Чудаки!
Из тектовых файлов сложнее делать выборку, тем более синонимов. :-(

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

Сообщение igorekk » Ср янв 31, 2007 14:21

А sqlite для WM'а нет?
Очень хорошая база данных: маленькая и быстрая.

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

Сообщение Admin_Vlad » Ср янв 31, 2007 14:56

Не знаю.
Как же все тяжело дается. Столько трудностей создано для программирования для КПК.
Все таки мне хочется сделать именно базу данных а не текстовые файлы, только пока не хочу устанавливать и десктопную версию MS SQL Server 2005
:-(

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

Сообщение igorekk » Ср янв 31, 2007 15:27

Admin_Vlad, я и говорю - погугль по SQLite. Не ленись :)

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

Сообщение inter189 » Ср янв 31, 2007 16:26

чтобы установить sql server mobile достаточно скачать вот это http://www.hpc.ru/soft/software.phtml?id=14143
и поставить на самом девайсе. В архиве кабы для wm5 и wm2003.
для wm5 ставь
sqlce30.ppc.wce5.armv4i.CAB - это сам сервак
sqlce30.dev.ENU.ppc.wce5.armv4i.CAB - это чтобы ярлычок на Query Analizer появился в менюшке (вообще это сообщения об ошибках, но ярлык что то без него куда хитро ныкается :). В принципе, и без этого пакета все будет работать

аналогично для wm2003

и совсем не обязательно устанавливать что либо дополнительно на десктопе

решительно не понимаю чем не канает этот подход для твоей задачи.
если вы должны мне денег, срочно свяжитесь со мной, чтобы отдать долг

Закрыто

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