FB blob alana veri eklemede hata

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ı
eduran
Üye
Mesajlar: 52
Kayıt: 03 Tem 2003 04:02

FB blob alana veri eklemede hata

Mesaj gönderen eduran »

slm.
tablom;

Kod: Tümünü seç

deneme 
-----------------------
aciklama (blob-text)

Kod: Tümünü seç

CREATE PROCEDURE ACIK (
    ACIKLAMA BLOB SUB_TYPE 1 SEGMENT SIZE 80)
AS
begin
  insert into deneme (aciklama) values(:aciklama);
  suspend;
end
bu procedure ü delphi tarafından şu şekilde çalıştırdığımda "internal error" hatası alıyorum.

Kod: Tümünü seç

  IBSQL1.Close;
  IBSQL1.SQL.Text:='execute procedure acik('+#39+'aaa'+#39+')';
  IBSQL1.ExecQuery;
veya

Kod: Tümünü seç

  IBQuery1.Close;
  IBQuery1.SQL.Text:='execute procedure acik('+#39+'aba'+#39+')';
  IBQuery1.ExecSQL;
  IBTransaction1.CommitRetaining;
ibexpert`te sql editorü kullanarak denediğimde problem olmuyor. yanlış bişey mi yapıyorum acaba.

iyi çalışmalar.
Uğur1982
Üye
Mesajlar: 383
Kayıt: 11 Mar 2005 03:18
Konum: İzmir

Mesaj gönderen Uğur1982 »

merhaba;

Oluşturduğun aciklama (blob-text) alanının Sub Type=1 yaparsan sorun düzeliyor...

+ en önemli nokta :D

Kod: Tümünü seç

CREATE PROCEDURE ACIK (
    ACIKLAMA BLOB SUB_TYPE 1 SEGMENT SIZE 80)
AS
begin
  insert into deneme (aciklama) values(:aciklama);
  suspend;
end

ACIKLAMA BLOB SUB_TYPE 1 SEGMENT SIZE 80
yerine
ACIKLAMA VARCHAR(80) kullanman gerekiyor,asıl sorunda bu....

iyi günler..
Kullanıcı avatarı
eduran
Üye
Mesajlar: 52
Kayıt: 03 Tem 2003 04:02

Mesaj gönderen eduran »

Uğur1982 yazdı:merhaba;

Oluşturduğun aciklama (blob-text) alanının Sub Type=1 yaparsan sorun düzeliyor...
maalesef düzelmiyor.(zaten öyle) :( storedprocedure ki tipi varchar yaparsam girilecek veri 80 karakterden sonra kesiliyor.

delphi tarafından storedprocedure kullaranak hallettim. ancak stored proceduredeki sanırım söylenilen buglardan dolayı list index out of hatası veriyor zaman zaman. değeri gönderirken eksik bişey mi yapıyorum acaba. yani string formatında gönderiyorum ama halbuki alan blob. ne yapacağım bilemiyorum....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
size 80 büyük değilmi.?
+
insert ve update sp lerinde ibstoredprocedure bileşenini kullanmanı tavsiye ederim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
eduran
Üye
Mesajlar: 52
Kayıt: 03 Tem 2003 04:02

Mesaj gönderen eduran »

a.s.
varsayılan 80 yaptı; ne kadar büyüklükte oduğunu bilmediğim için (mb, kb yada başka bişey) değiştirmedim. ders notlarını tutacağım. storedprocedure kullanarak oldu ama çoğu zaman dediğim hatayı veriyor. ibdatasetlerle kayıt girişi oluyor.

yanılmıyorsam @gkimirti forumda ibstoredproc larda bug var demişti. bunun yerine ibsql ile ilgili procedure çalıştırılabilir demişti.

iyi çalışmalar...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

eğer sp de select işlemi varsa ibsp istediğiniz sonucu vermiyebilir. ancak insert,update veya delete işlemlerinde çalışması lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla