Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Firebird a tworzenie bazy

306 views
Skip to first unread message

robik

unread,
Mar 11, 2005, 3:35:26 AM3/11/05
to
Witam

Do połączenia z Firebirdem korzystam z zakładki Interbase ->IBTransaction,
IBDatabase, IBQuery. W czasie działania programu chciałbym utworzyć bazę
danych i później kilka tabel, niestety gdy w IBQuery wstawie SQL tekst:


//////////////////
CREATE DATABASE 'D:\moja.fdb' page_size 8192 user 'SYSDBA' password
'masterkey';
/////////////////


i wykonam IBQuery.ExecSql;

to pojawia się komunikat SQL error code -530

Cannot prepare a CREATE DATABASE/SCHEMA statement

Na pewno wiecie co robię źle, pamiętam że kiedyś to chyba było ale naprawdę
nie mogę nigdzie tego znaleźć.

Pozdrawiam


jh

unread,
Mar 11, 2005, 4:24:38 AM3/11/05
to
Użytkownik "robik" <robe...@posejdon.wpk.p.lodz.pl> napisał w wiadomości
news:d0rlh9$5eq$1...@nemesis.news.tpi.pl...

> //////////////////
> CREATE DATABASE 'D:\moja.fdb' page_size 8192 user 'SYSDBA' password
> 'masterkey';
> /////////////////

Ja robiłem tak:

function TForm1.DataBaseCreate(FileName, User, Password: String): Boolean;
begin
Result := False;
IBDatabase.Connected := False;
IBDatabase.DatabaseName := FileName;
IBDatabase.Params.Clear;
IBDatabase.Params.Add('USER ' + Chr(39) + User + Chr(39));
IBDatabase.Params.Add('PASSWORD ' + Chr(39) + Password + Chr(39));
IBDatabase.Params.Add('PAGE_SIZE 4096');
IBDatabase.Params.Add('DEFAULT CHARACTER SET WIN1250');
IBDatabase.SQLDialect := 3;
try
IBDatabase.CreateDatabase;
except
Exit;
end;
Result := True;
end;

Jacek


robik

unread,
Mar 11, 2005, 5:04:58 AM3/11/05
to
Dzięki działa!

Pzdr


"jh" <j...@radio.kielce.com.pl> wrote in message
news:d0rod3$h9o$1...@nemesis.news.tpi.pl...

robik

unread,
Mar 11, 2005, 6:57:12 AM3/11/05
to
Witam ponownie

Mam jeszcze jeden problem, a mianowicie nie mogę stworzyć tabeli w
Firebirdzie:

//////////////
query2.SQL.Clear;
query2.sql.Add('CREATE TABLE USERS ('+
' USER_NAME VARCHAR(128),'+
' PASSWD VARCHAR(32) );');
query2.ExecSQL;


query2.SQL.Clear;
query2.sql.Add('GRANT SELECT ON USERS TO PUBLIC;');
query2.ExecSQL;
///////////////////

Kod ten wykonuje się, ale tabela się nie tworzy?

Z góry dziękuję i pozdrawiam


"robik" <robe...@posejdon.wpk.p.lodz.pl> wrote in message
news:d0rlh9$5eq$1...@nemesis.news.tpi.pl...

max

unread,
Mar 11, 2005, 10:33:25 AM3/11/05
to
robik napisał(a):

> Witam ponownie
>
> Mam jeszcze jeden problem, a mianowicie nie mogę stworzyć tabeli w
> Firebirdzie:
>
> //////////////
> query2.SQL.Clear;
> query2.sql.Add('CREATE TABLE USERS ('+
> ' USER_NAME VARCHAR(128),'+
> ' PASSWD VARCHAR(32) );');
> query2.ExecSQL;
>
>
> query2.SQL.Clear;
> query2.sql.Add('GRANT SELECT ON USERS TO PUBLIC;');
> query2.ExecSQL;
> ///////////////////
>
> Kod ten wykonuje się, ale tabela się nie tworzy?
>
> Z góry dziękuję i pozdrawiam
>
>
Bo mozliwe ze trzeba wywolac COMMIT
aby zatwierdzic transakcje
0 new messages