Subject | Re: External table weirdness |
---|---|
Author | roar4711 |
Post date | 2009-04-10T19:24:48Z |
> Show us DDL for both tablesThis 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.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.
>No
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_2Sorry, 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.