Subject | Fail to create external table |
---|---|
Author | Kjell Rilbe |
Post date | 2019-12-02T15:35:43Z |
Hi,
Using Firebird 3.0.4.33054 on WIndows (64 bit), I want to create an
external table where the external file name contains Swedish letters. I
would think this is a reasonable desire these days.
After failing to get the character encoding right in FlameRobin, I
thought I'd try isql.exe.
So I fired up a command prompt, set codepage to UTF-8 (chcp 65001). Then
connected to my database in isql and did a select to check that it
indeed does display existing UTF-8 data correctly, to ensure that I
actually got the connection character set right. Seems to work.
Then I try this SQL:
create table "ExSlask" external file 'D:\MISE\Data\Firebird\Teståäö.txt'
("Id" char(5) character set win1252, "CRLF" char(2) character set win1252);
When I press enter, isql.exe exits without any message whatsoever. I'm
just returned to the Windows command prompt. No external table is created.
Any ideas?
The same SQL executes fine in FlameRobin, but the resulting file name is
"Teståäö.txt", which means that FlameRobin and/or Firebird fails to
correctly convert the UTF-8 encoded string in the SQL into the file
system's encoding (Win1252). I have FlameRobin connected using UTF-8
connection charset.
Mvh,
Kjell
[Non-text portions of this message have been removed]
Using Firebird 3.0.4.33054 on WIndows (64 bit), I want to create an
external table where the external file name contains Swedish letters. I
would think this is a reasonable desire these days.
After failing to get the character encoding right in FlameRobin, I
thought I'd try isql.exe.
So I fired up a command prompt, set codepage to UTF-8 (chcp 65001). Then
connected to my database in isql and did a select to check that it
indeed does display existing UTF-8 data correctly, to ensure that I
actually got the connection character set right. Seems to work.
Then I try this SQL:
create table "ExSlask" external file 'D:\MISE\Data\Firebird\Teståäö.txt'
("Id" char(5) character set win1252, "CRLF" char(2) character set win1252);
When I press enter, isql.exe exits without any message whatsoever. I'm
just returned to the Windows command prompt. No external table is created.
Any ideas?
The same SQL executes fine in FlameRobin, but the resulting file name is
"Teståäö.txt", which means that FlameRobin and/or Firebird fails to
correctly convert the UTF-8 encoded string in the SQL into the file
system's encoding (Win1252). I have FlameRobin connected using UTF-8
connection charset.
Mvh,
Kjell
[Non-text portions of this message have been removed]