Как и где установить драйвер базы данных в IDE?Часть II - PullRequest
1 голос
/ 30 марта 2011

фоном для этого запроса было этот вопрос .

Я установил этот драйвер для Firebird и поместил его в путь (system32), используемый в IDE. XE Data Explorer распознает драйвер, и можно создать соединение с помощью Data Explorer. Попытка просмотреть таблицы или любой другой элемент базы данных через это соединение приводит к ошибке, описанной в this question . Насколько я вижу, @ Алехандро Журдан не нашел решения этой проблемы, и я не могу найти решения ни на одном из сайтов поддержки Firebird или Delphi XE.

Вторая проблема возникает, когда я создаю соединение TSQLC с помощью этого соединения. Соединение работает в той степени, в которой оно генерирует приглашение на вход в базу данных, но когда оно пытается открыть соединение, я получаю сообщение об ошибке: «файл не является допустимой базой данных». Это сообщение об ошибке (своего рода) воспроизводится изнутри Проводник данных, который выдает следующую ошибку:

Ошибка ввода-вывода во время операции «CreateFile (open)» для файла [путь к базе данных] Ошибка при попытке открыть файл. Доступ запрещен ..

База данных действительна и может быть открыта из утилиты командной строки Firebird и из браузера базы данных.

Окружающая среда:

Machine: Lenovo Thinkpad W510
OS: Windows 7 Ultimate 64bit
Delphi: Embarcadero® RAD Studio XE Professional Version 15.0.3953.35171
Database: W1-V2.5.0.26074 Firebird 2.5 (64 bit)

Также установлено:

Embarcado Borland® Developer Studio 2006 Enterprise Version 10.0.2288.42451 Update 2 (XP Version)
Borland Delphi Version 7 (XP Version)

EDIT:

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

Ответы [ 2 ]

3 голосов
/ 30 марта 2011

Первое, что бросается в глаза, это то, что вы используете 64-битную версию Firebird, и вы упомянули, что она поставляется с 32- и 64-битным драйвером.Библиотеки DLL называются одинаково?Если это так, я подозреваю, что IDE / OS пытаются загрузить 64-разрядную версию DLL в 32-разрядное приложение, что невозможно (32-разрядные приложения не могут загружать 64-разрядные драйверы и т. Д.наоборот).

Попробуйте выполнить одно из двух действий:

  • Сначала, если библиотеки DLL имеют одинаковые имена, временно переименуйте 64-разрядную версию и перезапустите IDE.Затем попробуйте снова.

  • Попробуйте установить 32-разрядную версию Firebird, даже если вы используете 64-разрядную ОС.

0 голосов
/ 01 апреля 2011

Основной вопрос, который у меня возник (в части I), был:

Я хочу установить драйвер базы данных Firebird и сделать его доступным в Delphi XE IDE.Я хочу, чтобы драйвер базы данных мог использоваться на той же основе, что и другие поставляемые драйверы базы данных (например, Interbase, SQL - из Data Explorer в IDE).Я получил соответствующий драйвер.

После значительного расследования я обнаружил, что невозможно добиться интеграции в Delphi IDE, чего я пытался добиться.Это связано с тем, что Data Explorer является приложением .NET, а доступные драйверы DBExpress ( здесь и здесь ) просто не совместимы с .NET.Я понимаю, что могу использовать драйверы, настраивая параметры соответствующим образом, как в среде IDE, так и путем программирования в разрабатываемом приложении.

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

...