Firebird外部表

Fer*_*ero 5 sql delphi firebird data-import

我试图找到一种方法快速将大量数据加载到数据库中,一个建议使用Firebird外部表,我想了解更多有关此方法,我尝试在线搜索但我没有得到有关的信息这个,我想知道它们是如何工作的?表格必须完全相同吗?如果从多个数据库加载数据怎么办?

Har*_*riv 6

使用这样的外部表:

CREATE TABLE ext1 EXTERNAL 'c:\myfile.txt'
(
field1 char(20),
field2 smallint
);
Run Code Online (Sandbox Code Playgroud)

要快速导入常规表,请执行以下操作:

INSERT INTO realtable1 (field1, field2)
SELECT field1, field2 FROM ext1;
Run Code Online (Sandbox Code Playgroud)

请记住在加载之前禁用触发器和索引(如果可能),并在之后重新激活它们.

此信息来自Firebird常见问题解答:http://www.firebirdfaq.org/faq209/

以下是有关使用外部表的更多信息,包括有关文件格式的信息:http://www.delphiman.de/Bin/UsingExternalFilesAsTables.pdf

  • @ Fero68:我用在Windows上运行的本地FB Server测试了这个.我创建了外部表并尝试在其中插入行并获得相同的错误.我进入我的Firebird.conf并发现我的ExternalFileAccess = None.问题是我的文件看起来像这样... #ExternalFileAccess = None我不仅需要将None更改为Full,还要从行的开头删除'#'.'#'将该行视为注释.ExternalFileAccess = Full一旦我这样做并重新启动它现在它的工作原理. (2认同)