sas enterprise guide 在 table 已经存在时将 csv 文件导入关系数据库
sas enterprise guide import csv file into relational database while the table already exists
我想使用 sas enterprise guide 8.3 将 csv 文件导入关系数据库。
我启动导入数据向导,在本地文件夹(Windows OS) 中找到csv 文件,然后找到关系数据库的库。在 GUI 中,我无法设置源和目标之间的映射。目标是关系数据库中的 table,它比 csv 文件具有更多字段。
导入数据向导失败,因为向导试图替换已经存在的 table。
所以我不能使用导入数据向导来实现我的目标?仅使用以下代码 ?
Libname TD teradata userid=xxxx password=xxxx fastload=Yes
proc import
dbms=csv /* specify you load comma separated data */
datafile="C:\temp\test.csv" /* fill in your data file */
out=TD; /* specify de dataset to load it to */
/* replace; so TEST will not replaced if it exists */
run;
我不确定上面的代码能否解决我的问题:out =TD 没有指定table名称,只是指定了目标数据库。非常感谢!
听起来您正在尝试使用 SAS 将此 .csv 文件附加到现有的 Teradata table。您可以分两步完成此操作:
- 将 .csv 文件作为临时 SAS 导入 SAS table(或者,如果需要,您可以将其作为 Teradata 中的临时 table 导入)
- 将临时 SAS table 附加到主 Teradata table
SAS Teradata Access Engine 将处理从一个数据库到另一个数据库的所有代码转换:
Libname TD teradata userid=xxxx password=xxxx fastload=Yes;
proc import
dbms = csv
file = "C:\temp\test.csv"
out = tempTable;
replace;
run;
proc append base = td.have
data = tempTable
force;
run;
或者您可以使用 SQL 附加:
proc sql;
insert into td.have
select * from tempTable
;
quit;
我想使用 sas enterprise guide 8.3 将 csv 文件导入关系数据库。 我启动导入数据向导,在本地文件夹(Windows OS) 中找到csv 文件,然后找到关系数据库的库。在 GUI 中,我无法设置源和目标之间的映射。目标是关系数据库中的 table,它比 csv 文件具有更多字段。 导入数据向导失败,因为向导试图替换已经存在的 table。
所以我不能使用导入数据向导来实现我的目标?仅使用以下代码 ?
Libname TD teradata userid=xxxx password=xxxx fastload=Yes
proc import
dbms=csv /* specify you load comma separated data */
datafile="C:\temp\test.csv" /* fill in your data file */
out=TD; /* specify de dataset to load it to */
/* replace; so TEST will not replaced if it exists */
run;
我不确定上面的代码能否解决我的问题:out =TD 没有指定table名称,只是指定了目标数据库。非常感谢!
听起来您正在尝试使用 SAS 将此 .csv 文件附加到现有的 Teradata table。您可以分两步完成此操作:
- 将 .csv 文件作为临时 SAS 导入 SAS table(或者,如果需要,您可以将其作为 Teradata 中的临时 table 导入)
- 将临时 SAS table 附加到主 Teradata table
SAS Teradata Access Engine 将处理从一个数据库到另一个数据库的所有代码转换:
Libname TD teradata userid=xxxx password=xxxx fastload=Yes;
proc import
dbms = csv
file = "C:\temp\test.csv"
out = tempTable;
replace;
run;
proc append base = td.have
data = tempTable
force;
run;
或者您可以使用 SQL 附加:
proc sql;
insert into td.have
select * from tempTable
;
quit;