Create Database ve Table

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Create Database ve Table

Mesaj gönderen kadirkurtoglu »

merhaba firebirdsql server için aşağıdaki kodlarla database oluşturuyorum. ancak tablo create edemedim.

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if fileexists(edit1.Text + edit2.Text) then
  begin
  showmessage('Database Mevcut');
  end else begin
  Database1.Connected := False;
  Database1.DBName := edit1.Text + edit2.Text;
  Database1.SQLdialect := 3;
  Database1.DBParams.Clear;
  Database1.DBParams.Add('/* CREATE DATABASE */');
  Database1.DBParams.Add('USER ''' + edit3.Text + '''');
  Database1.DBParams.Add('PASSWORD ''' + edit4.Text + '''');
  Database1.DBParams.Add('DEFAULT CHARACTER SET ' + edit5.Text);
  Database1.DBParams.Add('/* SQLdialect 3 */');
end;  
try
    Database1.CreateDatabase;
    Database1.Connected := False;
    pb1.Position := 100;
    database1.Connected := true;
    query1.Close;
    query1.SQL.Clear;
    query1.SQL.Add('CREATE TABLE "VASIF" ("KNO" DOUBLE PRECISION NOT NULL,');
    query1.SQL.Add('"VASIFLAR" VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    query1.SQL.Add('"YEVMIYE" DOUBLE PRECISION,');
    query1.SQL.Add('"TRH" TIMESTAMP,');
    query1.SQL.Add('PRIMARY KEY ("KNO"))');
    query1.Prepare;
    query1.Execsql; 
Finally 
query1.Close;
end;
create etmek için makale ve ipucu kısmındaki bölümü kullanmak istedim ancak olmadı. birde create edilen database yi ibexpert ile açtığımda

1.fb versiyon yok.
2.Charset yok
3.Font Charecters set yok

bu konuyla ilgilenmiş arkadaşlardan fikirlerini bekliyorum...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

IBExpert in create ettiği şekilde DLL ini alıp kullanabilirsin :wink:
CREATE DATABASE 'localhost:c:\db2.fdb'
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096 SQL_DIALECT 3
DEFAULT CHARACTER SET WIN1254
CLIENTLIB 'C:\Program Files\Firebird\bin\fbclient.dll';
http://www.ibexpert.info/documentation/ ... 45153.html
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Ben de makale ve ipucundan yararlanarak aşağıdaki kodları yazmıştım. Çalışıyor. Ben her bir yıl için bir dosya oluşturacak şekilde bir program yapıyordum. Kullanıcı yılı seçtikten sonra dosya yoksa aşağıdaki kodla oluşturuyordu.

Kod: Tümünü seç

procedure tf_yilgiris.dosya_olustur;
    begin
 dm1.IBDatabase1.Connected:=false;
       //Database ayarlanıyor
      dm1.IBDatabase2.DataBaseName:=dosya_yolu;
      dm1.IBDatabase2.SQLDialect:=3;
             dm1.IBDatabase2.LoginPrompt := false;


         //Database Oluşturuluyor
         dm1.IBDatabase2.CreateDatabase;
       //  showmessage('Database Oluşturuluyor kısmı bitti');
        //Database oluşturuldu artık table,view,generator ve stored procedure oluşturmaya geçebiliriz.
        //Parametreler yenileniyor Normal bağlantı parametrelerine dönülüyor.
        dm1.IBDatabase2.Connected:=False;

        dm1.IBDatabase2.Params.Values['User_Name']:='SYSDBA';
        dm1.IBDatabase2.Params.Values['PassWord']:='masterkey';
        dm1.IBDatabase2.Params.Values['lc_ctype']:='WIN1254';
                                  //Database Connect ediliyor
                                  dm1.IBDatabase2.Connected:=True;
                                  //Transaction Active ediliyor..
                                  dm1.IbTransaction7.Active:=True;

//  ***************  CLIENTS  TABLE I
       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;


    dm1.ibsql1.SQL.Add('CREATE TABLE CLIENTS (');
    dm1.ibsql1.SQL.Add('CLKAYIT_NO      INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('KODU          VARCHAR(20) NOT NULL  COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('ISIM          VARCHAR(50) NOT NULL  COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('OZEL_KODU     VARCHAR(20) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('ADRES         VARCHAR(60) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SEMT          VARCHAR(25) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('ILI           VARCHAR(25) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('TESLIM_ALAN  VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('FAALIYET      VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('VD_MASTER   INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('VERGI_NOSU    VARCHAR(14),');
    dm1.ibsql1.SQL.Add('PRIMARY KEY (CLKAYIT_NO))');

    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

// ************ FIRMA TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;



    dm1.ibsql1.SQL.Add('CREATE TABLE FIRMA (');
    dm1.ibsql1.SQL.Add('FRKAYIT_NO        INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('ISIM            VARCHAR(50) NOT NULL COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('ADRES           VARCHAR(60) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SEMT            VARCHAR(25) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('ILI             VARCHAR(25) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('VD_ID           INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('VERGI_NO        VARCHAR(14),');
    dm1.ibsql1.SQL.Add('A_DEFT_ID       INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('A_TARIH         DATE,');
    dm1.ibsql1.SQL.Add('A_SAYI          VARCHAR(10),');
    dm1.ibsql1.SQL.Add('A_BASLAMA       DATE,');
    dm1.ibsql1.SQL.Add('A_BITIS         DATE,');
    dm1.ibsql1.SQL.Add('TES_ED_ISIM    VARCHAR(50) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('PRIMARY KEY (FRKAYIT_NO))');
    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

// ************ BELGE HAREKET TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;

    dm1.ibsql1.SQL.Add('CREATE TABLE BELGE_HAREKET (');
    dm1.ibsql1.SQL.Add('HRKAYIT_NO        INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('MAST_KODU       INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('KAYIT_TARIHI    DATE,');
    dm1.ibsql1.SQL.Add('CINSI           VARCHAR(70) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SERISI          VARCHAR(4) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SERI_NOSU       DOUBLE PRECISION,');
    dm1.ibsql1.SQL.Add('MIKTARI         INTEGER,');
    dm1.ibsql1.SQL.Add('VERILIS_TARIHI  DATE,');
    dm1.ibsql1.SQL.Add('TES_ALAN        VARCHAR(50) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('MVD_ID          INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('TES_EDEN        VARCHAR(50) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('TES_ED_TARIHI   DATE,');
    dm1.ibsql1.SQL.Add('PRIMARY KEY (HRKAYIT_NO))');

    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;


// ************ SEMTLER  TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;


    dm1.ibsql1.SQL.Add('CREATE TABLE SEMTLER (');
    dm1.ibsql1.SQL.Add('SMKAYIT_NO  INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('SEMT_ADI  VARCHAR(25) COLLATE PXW_TURK)');


    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

//*********** ILLER   TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;


    dm1.ibsql1.SQL.Add('CREATE TABLE ILLER (');
    dm1.ibsql1.SQL.Add('ILKAYIT_NO  INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('IL_ADI  VARCHAR(25) COLLATE PXW_TURK)');


    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

//*********** belge tur   TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;


    dm1.ibsql1.SQL.Add('CREATE TABLE BELGE_TUR (');
    dm1.ibsql1.SQL.Add('BTKAYIT_NO      INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('BELGE_TURU      VARCHAR(25) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SERI            VARCHAR(4) COLLATE PXW_TURK,');
    dm1.ibsql1.SQL.Add('SERI_NO         DOUBLE PRECISION )');
    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

//*********** belge VERGI_DAIRE    TABLE I

       Try
       dm1.ibsql1.Close;
       dm1.ibsql1.SQL.Clear;


    dm1.ibsql1.SQL.Add('CREATE TABLE VERGI_DAIRE (');
    dm1.ibsql1.SQL.Add('VDKAYIT_NO  INTEGER NOT NULL,');
    dm1.ibsql1.SQL.Add('ISMI VARCHAR(25) NOT NULL COLLATE PXW_TURK)');

    dm1.ibsql1.Prepare;
    dm1.ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..



    Finally
    dm1.ibsql1.Close;
   end;

            //Generator oluşturuluyor
Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_BELGE_HAREKET_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;

Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_BELGE_TUR_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;


Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_CLIENTS_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;

Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_FIRMA_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;
Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_ILLER_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;


Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_SEMTLER_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;

Try
dm1.IBSQL1.Close;
dm1.IBSQL1.SQL.Clear;
dm1.IBSQL1.SQL.Add('CREATE GENERATOR GEN_VERGI_DAIRE_ID');
dm1.IBSQL1.Prepare;
dm1.IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
dm1.IBSQL1.Close;
end;

// SHOWMESSAGE ('dosya oluşturma işi bitti çıkacaz ');


  dm1.IBDatabase2.Connected:=false;
  dm1.IBTransaction7.Active:=false;

end;


Sanırım bağlanırken kullanıcı olarak ayrı bir isim dosya oluştururken ayrı bir kullanıcı ismi kullanılıyordu. Ondan da olabilir.

Karakter kodları için ise ibdatabase in params propertisine

Kod: Tümünü seç

PAGE_SIZE 4096 
DEFAULT CHARACTER SET 
WIN1254
user_name=SYSDBA
password=masterkey

yazın diye öneride bulunmuşlardı.

Kolay gelsin.
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

ofenx teşekkür ederim ancak bu kodda

your user name and password are not defined

hatasını alıyorum.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
stnonstop
Üye
Mesajlar: 149
Kayıt: 22 Haz 2005 04:34

Mesaj gönderen stnonstop »

Tahminimce Ofenx direk olarak IBDatasenin propertysinde tanımlamış username ve password bilgilerini.
St. NonStop
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

olayı şu şekilde hallettim. benim create database kodlarını ofenx arkadaşımın kodlarıyla birleştirdim, ve sonuca ulaştım.

Ancak kafam hala firebird server version a takıldı. yani bunun bir önemi varmı. fbserver 1.5 olduğu için create edilen database de dolayısıyla 1.5 olmazmı? neyse...

Kod: Tümünü seç

//Database için bağlantı bilgileri tanımlanıyor
ibDatabase2.Connected := False;
ibDatabase2.DatabaseName := root.Text + dataname.Text;
ibDatabase2.SQLdialect := 3;
ibDatabase2.Params.Clear;
ibDatabase2.Params.Add('/* CREATE DATABASE */');
ibDatabase2.Params.Add('USER ''' + username.Text + '''');
ibDatabase2.Params.Add('PASSWORD ''' + password.Text + '''');
ibDatabase2.Params.Add('DEFAULT CHARACTER SET ' + charset.Text);
ibDatabase2.Params.Add('/* SQLdialect 3 */');

//Database Create Ediliyor
IBDatabase2.CreateDatabase;

//Database Bağlantı Parametreleri Yenileniyor
IBDatabase2.Connected:=False;
IBDatabase2.Params.Values['User_Name']:='SYSDBA';
IBDatabase2.Params.Values['PassWord']:='masterkey';
IBDatabase2.Params.Values['lc_ctype']:='WIN1254';
//Bağlantılar Aktif Hale Getiriliyor
IBDatabase2.Connected:=True;
IbTransaction1.Active:=True;

//Tablolar Oluşturuluyor

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE CLIENTS (');
ibsql1.SQL.Add('CLKAYIT_NO      INTEGER NOT NULL,');
ibsql1.SQL.Add('KODU          VARCHAR(20) NOT NULL  COLLATE PXW_TURK,');
ibsql1.SQL.Add('ISIM          VARCHAR(50) NOT NULL  COLLATE PXW_TURK,');
ibsql1.SQL.Add('OZEL_KODU     VARCHAR(20) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('ADRES         VARCHAR(60) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('SEMT          VARCHAR(25) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('ILI           VARCHAR(25) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('TESLIM_ALAN  VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('FAALIYET      VARCHAR(50) CHARACTER SET WIN1254 COLLATE PXW_TURK,');
ibsql1.SQL.Add('VD_MASTER   INTEGER NOT NULL,');
ibsql1.SQL.Add('VERGI_NOSU    VARCHAR(14),');
ibsql1.SQL.Add('PRIMARY KEY (CLKAYIT_NO))');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE FIRMA (');
ibsql1.SQL.Add('FRKAYIT_NO        INTEGER NOT NULL,');
ibsql1.SQL.Add('ISIM            VARCHAR(50) NOT NULL COLLATE PXW_TURK,');
ibsql1.SQL.Add('ADRES           VARCHAR(60) COLLATE PXW_TURK,');
ibsql1.SQL.Add('SEMT            VARCHAR(25) COLLATE PXW_TURK,');
ibsql1.SQL.Add('ILI             VARCHAR(25) COLLATE PXW_TURK,');
ibsql1.SQL.Add('VD_ID           INTEGER NOT NULL,');
ibsql1.SQL.Add('VERGI_NO        VARCHAR(14),');
ibsql1.SQL.Add('A_DEFT_ID       INTEGER NOT NULL,');
ibsql1.SQL.Add('A_TARIH         DATE,');
ibsql1.SQL.Add('A_SAYI          VARCHAR(10),');
ibsql1.SQL.Add('A_BASLAMA       DATE,');
ibsql1.SQL.Add('A_BITIS         DATE,');
ibsql1.SQL.Add('TES_ED_ISIM    VARCHAR(50) COLLATE PXW_TURK,');
ibsql1.SQL.Add('PRIMARY KEY (FRKAYIT_NO))');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE BELGE_HAREKET (');
ibsql1.SQL.Add('HRKAYIT_NO        INTEGER NOT NULL,');
ibsql1.SQL.Add('MAST_KODU       INTEGER NOT NULL,');
ibsql1.SQL.Add('KAYIT_TARIHI    DATE,');
ibsql1.SQL.Add('CINSI           VARCHAR(70) COLLATE PXW_TURK,');
ibsql1.SQL.Add('SERISI          VARCHAR(4) COLLATE PXW_TURK,');
ibsql1.SQL.Add('SERI_NOSU       DOUBLE PRECISION,');
ibsql1.SQL.Add('MIKTARI         INTEGER,');
ibsql1.SQL.Add('VERILIS_TARIHI  DATE,');
ibsql1.SQL.Add('TES_ALAN        VARCHAR(50) COLLATE PXW_TURK,');
ibsql1.SQL.Add('MVD_ID          INTEGER NOT NULL,');
ibsql1.SQL.Add('TES_EDEN        VARCHAR(50) COLLATE PXW_TURK,');
ibsql1.SQL.Add('TES_ED_TARIHI   DATE,');
ibsql1.SQL.Add('PRIMARY KEY (HRKAYIT_NO))');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE SEMTLER (');
ibsql1.SQL.Add('SMKAYIT_NO  INTEGER NOT NULL,');
ibsql1.SQL.Add('SEMT_ADI  VARCHAR(25) COLLATE PXW_TURK)');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE ILLER (');
ibsql1.SQL.Add('ILKAYIT_NO  INTEGER NOT NULL,');
ibsql1.SQL.Add('IL_ADI  VARCHAR(25) COLLATE PXW_TURK)');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE BELGE_TUR (');
ibsql1.SQL.Add('BTKAYIT_NO      INTEGER NOT NULL,');
ibsql1.SQL.Add('BELGE_TURU      VARCHAR(25) COLLATE PXW_TURK,');
ibsql1.SQL.Add('SERI            VARCHAR(4) COLLATE PXW_TURK,');
ibsql1.SQL.Add('SERI_NO         DOUBLE PRECISION )');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

Try
ibsql1.Close;
ibsql1.SQL.Clear;
ibsql1.SQL.Add('CREATE TABLE VERGI_DAIRE (');
ibsql1.SQL.Add('VDKAYIT_NO  INTEGER NOT NULL,');
ibsql1.SQL.Add('ISMI VARCHAR(25) NOT NULL COLLATE PXW_TURK)');
ibsql1.Prepare;
ibsql1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
ibsql1.Close;
end;

//Generator Oluşturuluyor
Try
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_BELGE_HAREKET_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 

Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_BELGE_TUR_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 

Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_CLIENTS_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 

Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_FIRMA_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 
Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_ILLER_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally
IBSQL1.Close;
end; 

Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_SEMTLER_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 

Try 
IBSQL1.Close;
IBSQL1.SQL.Clear;
IBSQL1.SQL.Add('CREATE GENERATOR GEN_VERGI_DAIRE_ID');
IBSQL1.Prepare;
IBSQL1.ExecQuery; //IBQuery kullanıyorsanız ExecQuery yerine ExecSQL yazacaksınız..
Finally 
IBSQL1.Close;
end; 
//işlem sona erdi bağlantılar pasif hale getiriliyor;
IBDatabase2.Connected:=false;
IBTransaction1.Active:=false;
end;  
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

stnonstop yazdı:Tahminimce Ofenx direk olarak IBDatasenin propertysinde tanımlamış username ve password bilgilerini.
Dosyayı oluşturmak için bir ibdatabase, kullanmak için ayrı bir ibdatabase kullanmışım.

Oluşturmak için kullandığım ibdatabase in params kısmına

Kod: Tümünü seç

USER 'SYSDBA' 
PASSWORD 'masterkey' 
PAGE_SIZE 4096 
DEFAULT CHARACTER SET 
WIN1254 

şeklinde , kullandığım ibdatabase e ise

Kod: Tümünü seç

PAGE_SIZE 4096 
DEFAULT CHARACTER SET 
WIN1254
user_name=SYSDBA
password=masterkey
şeklinde yazmıştım. ordan kaynaklanmış olabilir. Yani bir tarafta user_name diye geçerken diğer tarafta user diye geçiyor.

Kolay gelsin.
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

linkteki örnekte arkadaşımız, önce linki kapatmış sonra da transactionı.
bu yanlış. transaction, connectiona bağlı bir iç hizmet sürecidir.
Firebird Foundation Member #208
http://www.firebirdsql.org
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Terminator yazdı:linkteki örnekte arkadaşımız, önce linki kapatmış sonra da transactionı.
bu yanlış. transaction, connectiona bağlı bir iç hizmet sürecidir.
Uyarınız için teşekkür ederim. Ben makale ve ipucundan almıştım. Bu şekil kullanımın bir dezavantajı olabilir mi? Bizi aydınlatabilir misiniz?
http://www.aysbergbilgisayar.com
Logo Go özel eğitim, web tasarım, teknik servis
Kullanıcı avatarı
Terminator
Üye
Mesajlar: 313
Kayıt: 13 Ara 2005 01:45
Konum: İzmir, ama Aydın Efesi!

Mesaj gönderen Terminator »

ofenX yazdı:Merhaba,
Terminator yazdı:linkteki örnekte arkadaşımız, önce linki kapatmış sonra da transactionı.
bu yanlış. transaction, connectiona bağlı bir iç hizmet sürecidir.
Uyarınız için teşekkür ederim. Ben makale ve ipucundan almıştım. Bu şekil kullanımın bir dezavantajı olabilir mi? Bizi aydınlatabilir misiniz?
Object oriented- inheritance mimarisinden, data aware duyarlılıgından dolayı, büyük ihtimalle connectionı kestiğinizde bağlı transactionlar da
kaptılacaktır. sonradan tekrar kapatmanız etkisiz bir işlem olabilir.
compenentin sourcelarına bakmak lazım, yani burdaki işlemler DDL
komutları oldugu için rollbackten etkilenmeyebilir ama DML işlemlerde
rollback işlemleri geri alır. büyük ihtimalle de default kapatma biçimi rollbacktir, autocommit değilse.
DB işleri ciddi işlerdir ve dikkatli bir süreçle yapılmalıdır.
dalgınlığı alışkanlık edinirse bir geliştirici, gayet dalgın sonuç alır.
Firebird Foundation Member #208
http://www.firebirdsql.org
Cevapla