Subject Re: External table weirdness
Author roar4711
> Show us DDL for both tables

This is taken from FlameRobin

CREATE TABLE EXT2 EXTERNAL 'C:\PROGRAM FILES (X86)\Long Product name \STATISTICS\2007\TEMP2.DAT'
(
ID Integer,
RTIME Integer,
RDATA Float
);
GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON EXT2 TO SYSDBA WITH GRANT OPTION;

CREATE TABLE TYPE_2
(
ID Integer,
TIME_STAMP Integer,
DATA Float
);
GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE
ON TYPE_2 TO SYSDBA WITH GRANT OPTION;

INSERT INTO TYPE_2 (id, time_stamp, data)
SELECT id, rtime, rdata FROM ext2

>> I think I may have discovered what the problem is, long file names.

>No

Ok, I'm no expert on Firebird, the tests i've made the only difference is the location in the filesystem, one works, one does not.

1. I run the application in a folder with a short name, it works.

2. If I move the application into a deep folder structure, it throws the exception.

I can not find any other difference, tests are done one the same machine (Windows 2008 x86), same application binary, same data.

> At first statement there was TYPE_4 table, not TYPE_2

Sorry, that was me just mixing it up. Got allot of tables.

> Are you trying to assign INT into TIMESTAMP ?

We count time in seconds, so an int will do for us, or rather, we need to have it in that to avoid very costly conversion.

> Are you sure you want "float" ?

Yes, we store floats internally and reflect this to the database.