---------------------------
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.
/* 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 ; ^
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.
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
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...
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.
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
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.