我从.LOD文件(包含csv格式的数据)导入PostgreSQL数据库中的数据。对于导入,我遵循以下步骤:
1)右键单击表名
2)点击导入
3)选择必须从中导入数据的文件
4)完成
但是在执行此操作时,我收到一条表格的错误消息,其中包含以下数据:
APP_PGM_APPLY,APP_PGM_CS_NUM,APP_PGM_REQ_DT,APP_PGM_STS,APP_PGM_STS_DT,CR_TS_HI,CR_TS_LO,EFF_BEG_DT,EFF_END_DT,VOID_SW,APP_PGM_NUM
"RE","TD877E3","20150105","DN","20150105"," 362952774"," 304895920","20150105", , ,"2H01889"
"RE","B1ZBA17","20150130","PE","20150130"," 363222251"," 178702340","20150130","20150204", ,"2I15600"
错误消息是:
允许两个日期字段接受空值。但它仍然是抛出这个错误。 表定义:
CREATE TABLE app_pgm_choice
(
app_pgm_apply character(2),
app_pgm_cs_num character(7),
app_pgm_req_dt date,
app_pgm_sts character(2),
app_pgm_sts_dt date,
cr_ts_hi integer NOT NULL,
cr_ts_lo integer NOT NULL,
eff_beg_dt date,
eff_end_dt date,
void_sw character(1),
app_pgm_num character(7) NOT NULL,
CONSTRAINT app_pgm_choice_pk1 PRIMARY KEY (app_pgm_num, cr_ts_hi, cr_ts_lo)
)
请帮我解决这个问题。
答案 0 :(得分:1)
尝试使用此
进行复制copy tablename from 'd:/folder/myfile.csv' delimiter ',' csv WITH NULL AS 'null';
我dint导入.lod
文件,但您可以尝试将'd:/folder/myfile.csv'
替换为'd:/folder/myfile.lod'
或将.lod
文件重命名为.csv
答案 1 :(得分:0)
经过长时间的努力,我得到了解决方案。我用以下方式更改了我的.LOD文件内容(用''替换日期列数据''或者我可以说我删除了日期列的空白区域)
APP_PGM_APPLY,APP_PGM_CS_NUM,APP_PGM_REQ_DT,APP_PGM_STS,APP_PGM_STS_DT,CR_TS_HI,CR_TS_LO,EFF_BEG_DT,EFF_END_DT,VOID_SW,APP_PGM_NUM
"RE","TD877E3","20150105","DN","20150105"," 362952774"," 304895920","20150105",, ,"2H01889"
"RE","B1ZBA17","20150130","PE","20150130"," 363222251"," 178702340","20150130","20150204", ,"2I15600"
我运行以下命令:
COPY app_pgm_choice FROM 'E:\Japser\Jasper Reports\Data\APP_PGM_CHOICE.LOD' CSV HEADER;
它的工作正常:)