О Великие ГУРУ и снова Я.
В стандартной справке не нашел информации о компоненте ODBC, как с ним работать? для чего где и как прописать драйвер? В моем случае мне нужно подключиться к FireBird.
Этот топик читают: Гость
Ответов: 197
Рейтинг: 2
|
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
zhorik5 писал(а): как прописать драйвер? https://www.connectionstrings.com/ibphoenix-open-source-odbc-driver/ |
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
zhorik5 писал(а): В стандартной справке не нашел информации о компоненте ODBC, как с ним работать?Выделить элемент в редакторе и нажать клавишу F1 пробовали? Примеры из папки \HiAsm\Elements\Delphi\Example\DataBase открывали? Если религия этого сделать не позволяет, то... |
|||
карма: 6 |
|
Ответов: 197
Рейтинг: 2
|
|||
--- Добавлено в 2018-03-20 18:50:50 кое чего получилось! к firebird на локальной машине цепляется. малость разобрался. вопрос а как по сетке к нему зацепиться? Редактировалось 1 раз(а), последний 2018-03-20 18:50:50 |
|||
карма: 0 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
zhorik5 писал(а): как по сетке к нему зацепиться?Использовать соединение через указание строки подключения. Заполните свойство ConnectionDrv. Смотрите вариант строки в примере ODBC_Access.sha. |
|||
карма: 6 |
|
Ответов: 197
Рейтинг: 2
|
|||
Nic писал(а): Смотрите вариант строки в примеревот так вот работает FIrebird ODBC_подключение к локальному.JPG FIrebird ODBC_подключение к серверу.JPG --- Добавлено в 2018-03-21 11:04:53 connectionDRV DRIVER = Firebird/InterBase(r) driver; UID = SYSDBA; PWD = masterkey; DBNAME =192.168.0.25/3055:tdtbase; driver
с этими параметрами не подключается. --- Добавлено в 2018-03-21 11:07:02 odbc.JPG Редактировалось 3 раз(а), последний 2018-03-21 11:29:33 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
В свойстве ConnectionDrv нужно убрать пробелы вокруг "="
В свойстве Driver согласно примерам указывается только название драйвера без слова "DRIVER = ". В исходном коде компонента ODBC куча странного кода 1) Зачем делать LoadLibrary/GetProcAddress в THIODBC._work_doSetup при каждом вызове, если можно сделать один раз, или просто объявить импортируемую функцию как и все остальные?
2) Что за индусский код в THIODBC._work_doSetup? for i := 0 To Length( strTemp ) - 1 do strAttr[i] := strTemp[i+1]; Редактировалось 7 раз(а), последний 2018-03-21 12:18:07 |
|||
карма: 26 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Dilma писал(а): я использую элемет ODBC от коллеги Nic'a. Не слишком удачно спроектированный элемент, но зато стабильно работает и показывает все, что нужно.http://forum.hiasm.com/post/61643 Если у кого-либо "зудит" что-либо исправить: не возражаю Редактировалось 1 раз(а), последний 2018-03-21 19:08:55 |
|||
карма: 6 |
|
Ответов: 197
Рейтинг: 2
|
|||
Netspirit писал(а): В свойстве ConnectionDrv нужно убрать пробелы вокруг "=" В свойстве Driver согласно примерам указывается только название драйвера без слова "DRIVER = ". odbc2.JPG Редактировалось 1 раз(а), последний 2018-03-23 17:59:10 |
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
ConnectionDrv требует правильного заполения необходимыми параметрами. Оставь ConnectionDrv пустым.
|
|||
карма: 26 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
zhorik5, выложи tdtbase.fdb
|
|||
карма: 25 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Tad писал(а): zhorik5, выложи tdtbase.fdb(PS: порт сервера FireBird по умолчанию 3050, у zhorik5 почему-то 3055, если это то, что на скриншотах идёт после IP) Редактировалось 2 раз(а), последний 2018-03-23 18:21:34 |
|||
карма: 26 |
|
Ответов: 197
Рейтинг: 2
|
|||
Tad писал(а): zhorik5, выложи tdtbase.fdbTad, родненький в данном случае не могу( Netspirit писал(а): (PS: порт сервера FireBird по умолчанию 3050, у zhorik5 почему-то 3055,да порт 3055 так настроен сервер firebird и программа работающая с ним! через DSN все работает. хочу сделать чтоб все на автомате работало без лишних манипуляций настройки DSN для не знающего пользователя! вдруг изменится имя servera firebird порт и таму подобное. вообщем нужно через драйвер!!!! --- Добавлено в 2018-03-23 18:33:31 у меня такое подозрение что требуется клиент для подключения firebird. пару Постов выше он указывается в настройке DSN --- Добавлено в 2018-03-23 18:34:57 Netspirit писал(а): ConnectionDrv требует правильного заполения необходимыми параметрами. Оставь ConnectionDrv пустым.а где же тогда указывать подключение к базе данных?в поле драйвер? Редактировалось 2 раз(а), последний 2018-03-23 18:34:57 |
|||
карма: 0 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
zhorik5 писал(а): через DSN все работаетЭто означает, что может работать и через строку подключения, так как эти способы соединения практически идентичны. Строка подключения должна содержать всю необходимую информацию для установки соединения, также как и при создании DSN, то есть это и есть по сути DSN, только создаваемый динамически. Как только укажите правильную строку - подключение произойдёт. Поймите простую вещь, что строка соединения это просто список параметров передаваемых в формате: PARAM1=VALUE1;...;PARAMN=VALUEN; P.S. Или Вас google забанил? |
|||
карма: 6 |
|
Ответов: 197
Рейтинг: 2
|
|||
Nic писал(а): Или Вас google забанил?уже каптчу показывает похоже я его за*бал Nic писал(а): Как только укажите правильную строку - подключение произойдётhttps://www.connectionstrings.com/ibphoenix-open-source-odbc-driver/ я отсюда все варианты перепробовал! |
|||
карма: 0 |
|