Subject | Statement failed SQL code=-902 I/O error for file "" |
---|---|
Author | Lorenzo Fiorini |
Post date | 2004-05-20T10:07:11Z |
When I issue CREATE INDEX "CDESDIS_DISHDR" ON "DISHDR"("CDESDIS") on the table created
by the script below I get:
Statement failed SQL code=-902 I/O error
for file ""
error while trying to open file no such file or directory
I get the error on a IBM 5100 PIII 800Mhz 1.2GB ram Serveraid4L Fedora Core 1
kernel 2.4.22-1.2188.nptl fully "yummed" with Firebird 1.5.0 rpm.
( I've tried FirebirdSS-1.5.1.4354-0.i686.nptl.rpm from prerelease but I get the same
error. )
I can make the index if:
- the number of the rows are "below" 1928 ( the table has 2990 rows )
- move the gdb file to my workstation with the same Fedora Core 1 and the same
Firebird ( different hardware of course )
Even creating a gdb only with this table.
Note that during the night the SAME server move 2GB of DBFs into a gdb without any error
so I exclude hardware error.
If I use the field "CCODART" instead of "CDESDIS" the index gets created.
Any idea ?
regards,
Lorenzo Fiorini
DROP TABLE "DISHDR";
CREATE TABLE "DISHDR" (
"RECNO" BIGINT NOT NULL,
"CCODDIS" CHAR(13),
"CDESDIS" CHAR(50),
"CCODART" CHAR(13),
"CGRAFIC" CHAR(20),
"CETICCE" CHAR(20),
"DDATCAR" DATE,
"CUSRCAR" CHAR(8),
"DDATVAR" DATE,
"CUSRVAR" CHAR(8),
PRIMARY KEY (RECNO)
);
DROP GENERATOR GEN_DISHDR_RECNO;
CREATE GENERATOR GEN_DISHDR_RECNO;
SET TERM ^ ;
CREATE TRIGGER TRG_DISHDR_RECNO FOR DISHDR
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF ( ( NEW.RECNO IS NULL ) OR ( NEW.RECNO <= 0 ) ) THEN
BEGIN
NEW.RECNO = GEN_ID(GEN_DISHDR_RECNO, 1);
END
END ^
SET TERM ; ^
SET NAMES DOS437;
INSERT INTO "DISHDR" VALUES ...
...
by the script below I get:
Statement failed SQL code=-902 I/O error
for file ""
error while trying to open file no such file or directory
I get the error on a IBM 5100 PIII 800Mhz 1.2GB ram Serveraid4L Fedora Core 1
kernel 2.4.22-1.2188.nptl fully "yummed" with Firebird 1.5.0 rpm.
( I've tried FirebirdSS-1.5.1.4354-0.i686.nptl.rpm from prerelease but I get the same
error. )
I can make the index if:
- the number of the rows are "below" 1928 ( the table has 2990 rows )
- move the gdb file to my workstation with the same Fedora Core 1 and the same
Firebird ( different hardware of course )
Even creating a gdb only with this table.
Note that during the night the SAME server move 2GB of DBFs into a gdb without any error
so I exclude hardware error.
If I use the field "CCODART" instead of "CDESDIS" the index gets created.
Any idea ?
regards,
Lorenzo Fiorini
DROP TABLE "DISHDR";
CREATE TABLE "DISHDR" (
"RECNO" BIGINT NOT NULL,
"CCODDIS" CHAR(13),
"CDESDIS" CHAR(50),
"CCODART" CHAR(13),
"CGRAFIC" CHAR(20),
"CETICCE" CHAR(20),
"DDATCAR" DATE,
"CUSRCAR" CHAR(8),
"DDATVAR" DATE,
"CUSRVAR" CHAR(8),
PRIMARY KEY (RECNO)
);
DROP GENERATOR GEN_DISHDR_RECNO;
CREATE GENERATOR GEN_DISHDR_RECNO;
SET TERM ^ ;
CREATE TRIGGER TRG_DISHDR_RECNO FOR DISHDR
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF ( ( NEW.RECNO IS NULL ) OR ( NEW.RECNO <= 0 ) ) THEN
BEGIN
NEW.RECNO = GEN_ID(GEN_DISHDR_RECNO, 1);
END
END ^
SET TERM ; ^
SET NAMES DOS437;
INSERT INTO "DISHDR" VALUES ...
...