Ambiguous field name between table

Delphi .net ve .net ile ilgili konuları buraya yazabilirsiniz.
Cevapla
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Ambiguous field name between table

Mesaj gönderen ademcicek »

merhaba arkadaşlar.interbase firebirde bağlanırken delphi 2005 te şöyle bir hata alıyorum.firebirdin sürü 1.5

Kod: Tümünü seç

---------------------------
Error
---------------------------
Ambiguous field name between table RDB$RELATION_CONSTRAINTS and table RDB$RELATIONS 
RDB$RELATION_NAME.
---------------------------
OK   
---------------------------
bu sorunla karşılaşan varmı.bağlantıyı oluşturuyor fakat bağlantı oluştuktan sonra ve sql yazacağım zaman hep böyle bir hata veriyor.
kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

tablo isminde bir sorun var anlasılan,
benzer bir yazısma falan hatırlıyorum, DbWorkbench ile mi olusturdunuz tabloları, tablo isimleri buyuk harf mi?
ÜŞENME,ERTELEME,VAZGEÇME
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

tablo isimleri büyük.ems firebird manger kullanıyorum.
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

ya hocam büyük harf küçük harten başka bir şey var.
bu firebirdle gelen EMPLOYEE.FDB 'e bağlanırkende hata veriyor.aynı hatayı.

kolay gelsin.teşekür ederim.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

tablonun DDL'ini gönderebilir misin bir bakalım.

Kolay gelsin.
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

hocam bütün tablolarda aynı hatayı veriyor.

Kod: Tümünü seç

/* Table: EMPLOYEE */

CREATE TABLE EMPLOYEE (
    EMP_NO EMPNO NOT NULL,
    FIRST_NAME FIRSTNAME NOT NULL,
    LAST_NAME LASTNAME NOT NULL,
    PHONE_EXT VARCHAR (4) CHARACTER SET NONE COLLATE NONE,
    HIRE_DATE TIMESTAMP DEFAULT 'NOW' NOT NULL,
    DEPT_NO DEPTNO NOT NULL,
    JOB_CODE JOBCODE NOT NULL,
    JOB_GRADE JOBGRADE NOT NULL,
    JOB_COUNTRY COUNTRYNAME NOT NULL,
    SALARY SALARY NOT NULL,
    FULL_NAME COMPUTED BY (last_name || ', ' || first_name));



/* Check constraints definition */

ALTER TABLE EMPLOYEE ADD CHECK ( salary >= (SELECT min_salary FROM job WHERE
                        job.job_code = employee.job_code AND
                        job.job_grade = employee.job_grade AND
                        job.job_country = employee.job_country) AND
            salary <= (SELECT max_salary FROM job WHERE
                        job.job_code = employee.job_code AND
                        job.job_grade = employee.job_grade AND
                        job.job_country = employee.job_country));


/* Primary keys definition */

ALTER TABLE EMPLOYEE ADD PRIMARY KEY (EMP_NO);


/* Foreign keys definition */

ALTER TABLE EMPLOYEE ADD  FOREIGN KEY (DEPT_NO) REFERENCES DEPARTMENT (DEPT_NO);
ALTER TABLE EMPLOYEE ADD  FOREIGN KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY) REFERENCES JOB (JOB_CODE, JOB_GRADE, JOB_COUNTRY);


/* Indices definition */

CREATE INDEX NAMEX ON EMPLOYEE (LAST_NAME, FIRST_NAME);

SET TERM ^ ;

/* Triggers definition */



/* Trigger: SAVE_SALARY_CHANGE */
CREATE TRIGGER SAVE_SALARY_CHANGE FOR EMPLOYEE ACTIVE
AFTER UPDATE POSITION 0
AS
BEGIN
    IF (old.salary <> new.salary) THEN
        INSERT INTO salary_history
            (emp_no, change_date, updater_id, old_salary, percent_change)
        VALUES (
            old.emp_no,
            'NOW',
            user,
            old.salary,
            (new.salary - old.salary) * 100 / old.salary);
END
^


/* Trigger: SET_EMP_NO */
CREATE TRIGGER SET_EMP_NO FOR EMPLOYEE ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
    /* FIXED by helebor 19.01.2004 */
    if (new.emp_no is null) then
    new.emp_no = gen_id(emp_no_gen, 1);
END
^


SET TERM ; ^
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

ademcicek yazdı: /* Check constraints definition */

ALTER TABLE EMPLOYEE ADD CHECK ( salary >= (SELECT min_salary FROM job WHERE
job.job_code = employee.job_code AND
job.job_grade = employee.job_grade AND
job.job_country = employee.job_country) AND
salary <= (SELECT max_salary FROM job WHERE
job.job_code = employee.job_code AND
job.job_grade = employee.job_grade AND
job.job_country = employee.job_country));
bu kısımdan kaynaklanan bir sorun var. Tam inceleyemedim ama sanırım bir bug. job.job_code = employee.job_code gibi bir ifade de 2 alan adı da aynı olduğu için sorun oluyormuş. Değişik bir tool mesela IB Expert kullanmayı bir deneyin.

Kolay gelsin.
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

herkse teşekür ederim öncelikle.siz delphi 2005 bdpconnection ile firebirde bağlandınızmı.bağlandıysanız sizde hata vermiyordur.bende ki de başka bir sorundur.delphiyle ilgisi yoktur. çok teşekür ederim kolay gelsin
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Aynı hatayı Delphi2005 ile bdp nesneleri (bdpconnection) ile firebird 1.5 server a baglanıp bdpdataadapter in editorun de GenerateSQL dedigim zaman alıyorum.
Adem bey sorunu cozdu iseniz nasıl cozdunuz...
web de yaptıgım arastırmalardan bunun bdp firebird driver ları ile alakalı oldugunu soyluyor borland yetkilileri, dialect 1 yapılınca sorun olmuyormus,
iyi de ben dialect 3 de olusturmusum db yi ve o sekilde de kullanmam gerek....
bir grub kisi de dialect 1 yaptım duzeldi falan yazmıslar...
ÜŞENME,ERTELEME,VAZGEÇME
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

be bu sorundan kaynaklı delphi 2005 le firebird e bağlanmaktan vazgeçtim.hep sql server le denemeler yaptım.sonradan delphi 2005 (Ado.net) için firebirdin provider çıkardığını gördüm.isterseniz onu deneyebilirsiniz.ms .net ile bağlantıda sıkıntı yaratmadı. firebird provideri.

ayrıca c# ile delphi arasında ciddi manada farklar yok.1 haftada çözülebiliyor. isterseniz .net 2005 e bir bakın.

kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Ne problemli BDP ymis be...
adamı sinir ediyor, iki gundur bdpconnection la ugrasıyorum
nedir bunun cozumu.
Firebird icin .Net provider da kurdum yok , o da ise yaramadı...
odbc ile devam edecegim galiba
Borland firebird e gıcık oldu da ondan mı sorun cıkartıyor nedir anlamadım...
İşin garip tarafı dataadapterde sql i yazıyorsun preview data sayfasından verileri gorebiliyorsun...
ama velhasıl calıstırınca abuk subuk hatalr veriyor...
Dataadapter i active yapıp calıstırınca aldıgım hata

Connection open failed. unavailable database
ÜŞENME,ERTELEME,VAZGEÇME
ademcicek
Üye
Mesajlar: 409
Kayıt: 03 Eki 2003 01:50
Konum: Ankara

Mesaj gönderen ademcicek »

gökmen hocam zaten bdp le bağlandıktan sonrada bir sürü sorunla karşılaşıyon.yani bdp ile sql servere bağlandım.küçük örnekler yaptım bu sefer de autoincriment field de sorun çıkartıyor.yani bir türlü kayıt ekleyemiyorsun.ben sonunda onuda oluşan datasetten verdirmeyi başarmıştım.sonra bir düşündüm o yolun çok saçma bir yol olduğuna. en iyisi ado.net.yada delphi yeni bir sürüm çıkartıp bu sorunları giderene kadar.ama bu net işine merak salanlara kesinlikle ms.net tavsiye ederim gerçekten güzel ve basit.
kolay gelsin.
Cevapla