Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

MySql + dbExpress + Delphi 2005, кто может помочь?   Найти похожие ветки 

 
Sergio77   (2006-02-03 01:40) [0]

Установлена MySql;
Там созана база А, в ней таблица В.
На форму бросил компонент SqlConnection, прописал (localhost, юзера и пароль, имя базыl, выбрал mysql), (соединяюсь нормально)

Дальше SQLTable, там прописал SQLConnection и имя таблицы ранее описаный,
DataSource - в нем прописал SQLTable, дальше DBGrid, но он не хочет выбирать DataSource пишет "Operation not allowed on unidirectional dataset".

Пока это..
Использовал сторонний dbgrid, он не ругается, но и не отображает ничего..

Подсоединиться могу, просмотреть таблицы - нет.
подскажите, как правильно, что делать, я уже запутался :(

D 2005.


 
sniknik ©   (2006-02-03 08:41) [1]

посмотри пример, как там связка делается
x:\Program Files\Borland\Delphi7\Demos\Db\DbxExplorer

dbExpress по моему не умеет обычные рекордсеты выдавать, только однонаправленные, а грид в свою очередь не умеет с такими работать  ему нужно чтобы позволялась навигация.
осюда все "беды", выход (в примере) для данных которые хотят отображать в дриде (и аналогичных "мультизаписьных"), в том что данные перекачивают в клиентский рекордсет.

кстати в "стороннем dbgrid-е" вполне может быть свойство типа "кешировать данные" по которому он сделает тоже самое, т.е. закачает все данные "в себя" и будет отображать уже их. но это уже с к специалистам по "сторонним dbgrid-ам".


 
sniknik ©   (2006-02-03 08:43) [2]

а вообще я бы лучше поменял компоненты... на ADO к примеру. (там тип желаемого рекордсета можно задать)


 
Reindeer Moss Eater ©   (2006-02-03 09:06) [3]

А что, неужели к этому чуду техники oledb провайдер есть?


 
sniknik ©   (2006-02-03 10:33) [4]

> А что, неужели к этому чуду техники oledb провайдер есть?
ODBC есть точно и этого достаточно, а oledb... не уверен, читал давно вроде собирались делать, но сделали или нет, не знаю, также давно и на сайт к ним не заходил (и не тянет).


 
sniknik ©   (2006-02-03 10:35) [5]

причем может не родные, может кто сторонний сподобился... (вот сделал же Zeos вполне приличные oledb драйвера для IB... а ведь не они разработчики)


 
Reindeer Moss Eater ©   (2006-02-03 11:13) [6]

Я полгода назад искал фриварные провайдеры к ИБ.
Не нашел ни одного не кривого.
Было два кандидата. Один с блоб-параметрами не умел работать, второй метаданные не не отдавал.


 
sniknik ©   (2006-02-03 11:44) [7]

> Я полгода назад искал фриварные провайдеры к ИБ.
да брось, полно их, в том числе и фриварные. нашол штук 6, самым приемлемым для себя отобрал ZStyle(ошибся ранее... :-(), он без всяких переделок со стороны уже готовой проги подошол, другие либо неправильно схемы возвращали (у меня используется) либо еще чего, ну помню уже. этот поддерживал все что у меня использовалось (блобы не использовал, но думаю должен, написан грамотно)
а ZStyle кстати имеет и фриварный вариант...

http://www.zstyle.dp.ua/rus/iboledb_prod.htm


 
Reindeer Moss Eater ©   (2006-02-03 12:23) [8]

Я сказал, что не нашел не кривых.
Фришный от ZStyle - то же кривой. Один из тех двух кандидатов про которых я писал.


 
Reindeer Moss Eater ©   (2006-02-03 12:32) [9]

IB Provider фриварный - то же кривой.
Он метаданные не возвращает.
ZStyl"овский - с блоб параметрами отказывается работать.


 
DSKalugin ©   (2006-02-03 12:41) [10]

если бы они не были кривыми, то за такие компоненты брали бы деньги

П.С. это вовсе не значит, что все фриварное - кривое


 
Danilka ©   (2006-02-03 12:52) [11]

sniknik ©   (03.02.06 08:41) [1]
> dbExpress по моему не умеет обычные рекордсеты выдавать,
>  только однонаправленные

Аха, причем, об этом прямо в хелпе и написано, а также в "See also" ссылочка на описалово как к клиент датасету подключить.


 
Reindeer Moss Eater ©   (2006-02-03 12:55) [12]

П.С. это вовсе не значит, что все фриварное - кривое

Разумеется. Тот же dbExpress для MySQL предпочтительнее ADO + ODBC or OLE DB


 
sniknik ©   (2006-02-03 13:20) [13]

> ZStyl"овский - с блоб параметрами отказывается работать.
.... ??? а как насчет умения их готовить?

сделал простой пример
запрос
UPDATE TABLE1 SET BL=:Bl WHERE ID=1

вызов
ADOCommand1.Parameters.ParamByName("Bl").LoadFromFile("D:\Test.DBT", ftBlob);
ADOCommand1.Execute;

работает. блоб внесли. подключение к ZStyl-су. ...???

> если бы они не были кривыми, то за такие компоненты брали бы деньги
есть платный и бесплатный вариант, платный отличается только поддержкой судя по всему (написано об ограничении в месяц но у меня уже года полкора стоит и работает (правда время от времени, нужентолько в случае тестов, так то с IB и клонами мы не работаем))


 
Reindeer Moss Eater ©   (2006-02-03 14:17) [14]

.... ??? а как насчет умения их готовить?

Допускаешь мысль, что я в таком коде мог сделать ошибку?

UPDATE TABLE1 SET BL=:Bl WHERE ID=1
ADOCommand1.Parameters.ParamByName("Bl").LoadFromFile("D:\Test.DBT", ftBlob);

Точно такой же запрос но на insert у меня обламывался.


 
sniknik ©   (2006-02-03 15:16) [15]

> Допускаешь мысль, что я в таком коде мог сделать ошибку?
я могу допустить все.  

> Точно такой же запрос но на insert у меня обламывался.
проверил и с инсертом и блоб параметром. работает.


 
Dvm_home   (2006-02-21 05:31) [16]

Привет всем

У меня вот такая проблема с dbExpress:

Есть настроеный SQLConnection (работает и нормально соединяется с базой),

в SQLDataSet указываю в соединении SQLConnection, commandType - ctQuery. В редакторе Commandtext непоявляется список таблиц и полей, запрос сам написал (select * from Workers). Выставляю значение свойства Active в True получаю сообщение:

Access violation at adress ... in module dbxmss30.dll. Read at adress ...

Что нитак ?

Delphi 2006, MySQL 5.0.15  
запуск mysql_client_test.exe сервера выдает:
[MySQL-5.0.15][1045] Access denied for user "ODBC"@"localhost" (using password: NO)


 
Наталья   (2006-02-21 09:08) [17]

DBexpress использует однонапрвленные курсоры, для визуального отображения данных в gride нужно использовать ClientDataset (к нему уже DataSourse), DataSet Provider - SqTable(sqlQuery..) -SQLConnection


 
Dvm_home   (2006-02-21 10:51) [18]

Наталья   (21.02.06 9:08) [17]

Да я знаю, но судя по хелпу сначала SQLConnection (для установления соединения), потом SQLDataSet (для  запроса данных), DataSetProvider (для сохранения данных в локальный кеш), ClientDataset, DataSource ну а последним DBGri.

Так вот у меня возникают проблемы с SQLDataSet


 
Плохиш ©   (2006-02-21 11:10) [19]


> Access denied for user "ODBC"@"localhost"

Перевожу "Пользователю "ODBC"@"localhost" запрещено использование"
Права настраивать в MySQL надо.


 
Наталья   (2006-02-21 11:12) [20]

dbxmss30.dll - драйвер как будто MSSQL? драйвер должен быть типа dbexpmysql.dll. Что показывает SQLConnection?


 
Dvm_home   (2006-02-22 02:20) [21]

Наталья   (21.02.06 11:12) [20]
Да опшибся я с dll :), на самом деле используется  dbxmys30.dll, dbexpmysql.dll - в Delphi 7, у меня Delphi 2006.

При попытке выставить у SQLConnection свойство Active в True появляется сообщение: Access violation at address ... in module dbxmys30.dll


 
Dvm_home   (2006-02-22 02:22) [22]

Плохиш ©   (21.02.06 11:10) [19]

настроил, результатов ноль. При выставлении SQLConnection.Actuve = True - Access violation ....


 
Dvm_home   (2006-03-05 11:25) [23]

Проблема так и осталась :(, неушто никто не работает с MySql через dbExpress?

Я уш и Zeos пробовал, но он под Delphi 2006 нехочет ставится


 
Dvm_home   (2006-03-11 14:17) [24]

Проблему так и не решил ( с помощью dbExpress).

Сделал с помошью ADO, но в gride вместо русских букв отображаются вопросы.


 
sniknik ©   (2006-03-11 23:42) [25]

вопросы это неправильно приведенные к локальным юникодные строки. смотри по цепочке что используеш и где теряеш.


 
Плохиш ©   (2006-03-12 21:36) [26]


> Dvm_home   (22.02.06 02:22) [22]
> Плохиш ©   (21.02.06 11:10) [19]
>
> настроил, результатов ноль. При выставлении SQLConnection.
> Actuve = True - Access violation ....

Это никакого отошения к настройкам сервера не имеет, это у тебя ошибка в 17й строке.


 
Dvm_home   (2006-03-25 08:17) [27]

sniknik ©   (11.03.06 23:42) [25]
а как это проследить ?


 
Dvm_home   (2006-03-25 08:18) [28]

Плохиш ©   (12.03.06 21:36) [26]
и где эта строка ?


 
sniknik ©   (2006-03-25 11:32) [29]

> а как это проследить ?
как как, смотриш в разных местах различными средствами, желательно с гарантированной поддержкой.
в Query Analizer-у посмотрел, есть, значит в самой базе еще все в порядке, не записали уже так. в дельфях тест с применением компонент tnt(есть поддержка) сделал с ними нормально? значит преобразование в дельфе портило, нет смотри/смени провайдера данных на другого, ODBC на OLEDB (тут точно есть). и т.д. я не могу точно знать что ты используеш там у себя...

> и где эта строка ?
элементарно Ватсон! это строка между 16й и 18й. ;о))

http://podgoretsky.com/ftp/Language/nps/idioms.html


 
Dvm_home   (2006-03-27 08:32) [30]

sniknik ©   (25.03.06 11:32) [29]

> элементарно Ватсон! это строка между 16й и 18й. ;о))

это конечно бесспорно :), но хотелось бы узнать поточнее ее местоположение

за "как проследить" - спасибо


 
Dvm_home   (2006-03-27 10:22) [31]

sniknik ©   (25.03.06 11:32) [29]

Вот еще про 17 строку :)

Этот вопрос был по поводу использования dbExpress.
Стандартные компаненты. Кидаем на форму:
1. TSQLConnection, выставляем у него параметры соединения к базе и конектимся нормально, без ошибок
2. TSQLDataSet, соединение указываем TSQLConection, которое кинули перед этим, тип запроса - Query. Идем в CommandText - списка таблиц ненаблюдается, ну и ладно пишем сами ручками. Выставляем свойство Active в True и получаем замечательную ошибку "Access violation ..." в модуле dbxmys30.dll


 
Dvm_home   (2006-03-27 10:37) [32]

sniknik ©   (25.03.06 11:32) [29]
Еще.
сервер MySql 4.1.18, Delphi 2006
Поясни пожалуста причем сдесь unicode если в настройках таблицы, на сервере, я указал раскладку у поля cp1251 и у таблицы тоже.


 
sniknik ©   (2006-03-27 10:56) [33]

> Вот еще про 17 строку :)
вот это она и есть, и не обязательно это именно код, в данном случае это непоказаная инфа/действия

> Этот вопрос был по поводу использования dbExpress.
> Стандартные компаненты. Кидаем на форму:
теперь "соберем" инфу, что имеем -> ошибка в dbxmys30.dll, замечательно (хоть чтото есть) делаем поиск по гуглю, находим ссылку
http://www.marcocantu.com/md2005/UpdateDelphi2006_ch14.html
читаем, делаем выводы, скачиваем новый драйвер.
получилось? да - вопрос решон, нет - нужна еще инфа. чегото не хватает.

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

> Поясни пожалуста причем сдесь unicode ...
я не знаю что там у тебя в настройках таблиц/базы/сервере (да я и MySql не зню... ну особо хорошо, так пару установок/тестов делал.), но я знаю что при неправильном приведении юникода получаются вопросы, сталкивался не раз, о чем и сказал. считаеш что у тебя "не тот случай"? ну так разбирайся какой, но я бы начал с юникода.


 
sniknik ©   (2006-03-27 12:01) [34]

> Поясни пожалуста причем сдесь unicode ...
дубль 2
вот совсем недавно
http://delphimaster.net/view/3-1143442572/
пост [3]

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


 
Dvm_home   (2006-03-29 15:22) [35]

sniknik ©   (27.03.06 10:56) [33]

Подскажи пожалуста где можно это обновление скачать. У меня есть обновление драйвера с http://crlab.com/dbx, его я и поставил, с ним и получается работать с MySQL, но проблема с кодировкой. По ссылке [33] ходил, нашел там ссылку только на crlab.com, другого ненашел. Есть компаненты работы с MySQL, но они платные.

По поводу [34] - врятли. Я поставил компаненты tnt - с ними такая же картина - сплошные вопросы.

Еще при сохранении изменений ClientDataSet.ApplyUpdates(0) выдает месагу - Запись редактируется другим или ненайдена, хотя с базой я один работаю



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.6 MB
Время: 0.038 c
1-1141916601
D7pro
2006-03-09 18:03
2006.04.16
Как извлечь GZIP файлы


1-1142348118
Германн
2006-03-14 17:55
2006.04.16
Сортировка в ListBox


2-1144105191
яяяя
2006-04-04 02:59
2006.04.16
Событие от мыши... да глупый вопрос


6-1136649778
Роман Снайпер
2006-01-07 19:02
2006.04.16
Перехват сетевых обращений программ


1-1141910536
kyn66
2006-03-09 16:22
2006.04.16
Как у меню проверить наличие подменю?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский