怎样把TXT文本文件内容导入InterBase数据库

ccly1974 2004-03-11 02:41:03
TXT文本文件内容格式如下(姓名 年龄 性别 学历......):

张三 18 女 高中........
李四 20 男 大学.........
.
.
.
.
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
耙子 2004-03-14
  • 打赏
  • 举报
回复
这个用IB Console 就能导入。
打开你需要的表,它右下角有一个import Data...
Jasonn 2004-03-14
  • 打赏
  • 举报
回复
从外部文件中输入数据到InterBase数据表

步骤:

(1)、创建外部表:将所有列均定义为具有固定长度的char类型。根据不同的操作系统,定义换行符为1或2。例如在Windows中:

由于InterBase没有打算准备让varchar类型可移植 用 CHAR() 不用 VARCHAR()

Create Table Ext_Tbl External File ' C:\Program Files\Borland\InterBase\ext\File.Txt'
(
Fname Char(10),
Lname Char(20),
Hdate Char(10),
Newline Char(2)
);


(2)、创建内部表:
Create Table People
(
First_Name Char(10),
Last_Name Char(20),
Hire_Date Date,
New_Line Char(1)
);

当你创建外部数据表并且拟从外部平面文件数据源输入数据时,你必须创建一个列用来容纳平面文件的行结束符或者换行符,这个列的实际大小与系统的行结束符或换行符有关,例如在UNIX中为1个字节,在windows NT、NETWARE中为2个字节。New_Line Char(1) 就是这样
如果此表不作为输出数据使用,可以不定义容纳换行符的列。


(3)、输入数据到外部表中。一定要注意每个列的长度,最后在行尾加上换行符(我用↙表示,但实际上不是这个符号)。如:
第一行是创建的外部表的字段名称

FName LName HDate NewLine
Robert Brickman 06/12/1992 ↙
Sam Jones 12/13/1993 ↙


(4)、从外部表中将数据插入到内部表中:

Insert Into People
Select Fname, Lname, Cast(Hdate As Date),Newline From Ext_Tbl;

此外还用到了我们前面说明过的数据转换函数Cast将字符串转化为日期。









从外部表中将数据插入到内部表中:

Insert Into People Select Fname, Lname, Cast(Hdate As Date), Newline From Ext_Tbl;

此外还用到了我们前面说明过的数据转换函数Cast将字符串转化为日期。









从InterBase数据表输出数据到外部文件中

把内部表中的数据导出到外部表是十分简单的,只要对外部表使用一个插入语句即可。如:
Insert Into Ext_Tbl Select First_Name, Last_Name, Hire_Date, New_Line From People;




可以看出,InterBase的外部表功能是十分方便的,它可以让你如同操作内部表一样进行操作,免去了重新制定一套外部表的存取机制的麻烦,节省了很多学习时间。
Jasonn 2004-03-14
  • 打赏
  • 举报
回复
创建外部文件表

通常情况下,你创建的所有数据表都将存储在InterBase的数据库中。

但InterBase也允许你创建不存储在InterBase数据库中的表,这样的表称为外部表, 它以ASCII格式存储数据。

外部表最大的优点是允许其它非InterBase应用也可以访问操作数据表,你也可以在InterBase之外更改此外部文件,InterBase只有在必要的时候才访问该外部数据表。

InterBase这个功能特别是在外部数据传输时是非常有用的。

有些数据库系统只能通过特定的工具进行数据的导入导出,象InterBase这样方便的用法还真不多见。

外部数据表的作用可以归纳为:

·数据输入:将具有固定长度格式的平面文件中的数据输入到InterBase的数据表中。

·数据输出:将InterBase数据表中的数据输出到外部的平面文件中。

·select数据:你可以如同操作InterBase中的数据表一样,使用select语句操作外部数据表。

创建外部表的方法是在Create Table中使用EXTERNAL [FILE] ' filespec'选项。

在InterBase7.0以前的版本中,对外部表的存储位置没有严格的限制,在InterBase7.0中,严格规定了外部表存储的位置,以增强安全性,默认的存放位置是InterBase安装目录下的ext子目录。

如果你想放在其它目录,就必须在配置文件中通过EXTERNAL_FILE_DIRECTORY参数指定存放外部表的位置。

使用外部文件表有一些限制,如下:

·你必须先建立外部数据表,然后才能在InterBase数据库中访问它。

·外部文件中每一条记录必须是固定长度的,而且不能把blob以及数组数据放到外部文件中。

·当你创建外部数据表并且拟从外部平面文件数据源输入数据时,你必须创建一个列用来容纳平面文件的行结束符或者换行符,这个列的实际大小与系统的行结束符或换行符有关,例如在UNIX中为1个字节,在windows NT、NETWARE中为2个字节。

·虽然可以直接从外部表中读取数字类型的数据,但是以字符类型读取然后用cast()函数进行转换要更容易些。

·InterBase中varchar类型的数据必须以固定格式存放到外部文件中:格式如下 <2-byte unsigned short><string of character bytes>即<字串字节数><字串>。由于InterBase没有打算准备让varchar类型可移植,所以在外部表中并不推荐使用此类型。

· 对外部表,只能进行insert into,select操作,而不能进行update,delete操作,否则InterBase将给出错误信息

·由于外部表存在于InterBase数据库之外,所以对外部表上进行的insert into,select操作不会被纳入到InterBase的事务管理中,因此所有的更改都是即时的、永久性的,不可能进行回退。

·当使用drop database命令删除数据库时,外部数据表并不被删除,因此要人工删除。

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧