2014-01-23 5 views
4

Недавно я сменил AnyDac на FireDac (8.0.5.3365). Мы бежим Delphi 2006.Создание базы данных в Firebird с использованием FireDac (Delphi)

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

Настройка мое подключение

fConnection.LoginPrompt := false; 
fConnection.ResourceOptions.SilentMode := true; 

fConnection.Params.Clear; 
fConnection.Params.Add(Format('DriverID=%s',   ['IB'])); 
fConnection.Params.Add(Format('Database=%s',   [fConnectionInfo.xDatabase])); 
fConnection.Params.Add(Format('CharacterSet=%s',  ['UTF8'])); 
fConnection.Params.Add(Format('user_name=%s',   [fConnectionInfo.xUserName])); 
fConnection.Params.Add(Format('password=%s',   [fConnectionInfo.xPassword])); 
fConnection.Params.Add(Format('ExtendedMetadata=%s', ['True'])); 
fConnection.Params.Add(Format('CreateDatabase=%s', ['Yes'])); 
fConnection.Params.Add(Format('Protocol=%s',   ['Local'])) 

//database path = C:\Users\LoginName\AppData\Local\AppName\TestDB.FDB 

Открыть и закрыть соединение

fConnection.Open; 
fConnection.Close; 

И тогда я мог бы запустить свои скрипты sql таблицы create на существующей базе данных.

Но теперь, когда я делаю это с версией FireDac, команда Open вызывает ошибку fbe_unavailable, как будто я не указал параметр CreateDatabase.

Должен ли я делать это по-другому?

Спасибо за ваше время.

Кори.

ответ

2

У вас есть полный пример здесь http://docwiki.embarcadero.com/RADStudio/XE5/en/Executing_SQL_Scripts_%28FireDAC%29

Например, следующий Firebird скрипт создает базу данных, и может быть выполнена с использованием TFDScript:

SET SQL DIALECT 3; 
SET NAMES UTF8; 
SET CLIENTLIB 'C:\fb25\bin\fbclient.dll'; 
CREATE DATABASE 'E:\Test2.ib' 
    USER 'sysdba' PASSWORD 'masterkey' 
    PAGE_SIZE 16384 
    DEFAULT CHARACTER SET NONE; 

SET TERM^; 

CREATE PROCEDURE MY_PROC RETURNS (aParam INTEGER) AS 
BEGIN 
    aParam = 10; 
END^ 

Вы должны использовать CreateDatabase = Yes параметр определения соединения дополнительно к другим требуемым параметрам: http://docwiki.embarcadero.com/RADStudio/XE5/en/Connect_to_Firebird_(FireDAC)

Смежные вопросы