繁体   English   中英

如何使用命令行将 csv 文件复制到 Vertica 数据库中的表?

[英]How to copy csv file to a table in Vertica Data Base by using command line?

我想知道是否有任何方法可以使用命令行 (CMD) 将 csv 文件中的数据复制到 Vertica 数据库中的表中。 我已经搜索了一段时间,但没有找到适合我的东西。 我想创建与我所做的类似的东西,是一个批处理文件,用于将 CSV 文件中的数据复制到 postgreSQL 数据库中的表中:

C:
cd "C:\pgsql\bin"
psql -h suggestedorder.postgres.database.azure.com -d DataAnalytics -U dev_ext@suggestedorder -c "\copy planning.sap_mx_env_me2n_zaaptr_zpaitr_envase_transito (planta, folio, des_proveedor, fecha_carga, hora)from 'C:\Users\geradiaz.MODELO\Desktop\Envase\Transitos\Outputs\Transitos.csv' with (format csv, header)

(为避免 CMD 询问我的密码,我创建了密码文件)

各位大侠,有什么方法可以做类似的吗? 我需要先在 posgreSQL 中创建密码文件吗? 我希望您能帮助我或告诉我在哪里可以找到有关如何正确创建它的信息。

有一个美好的一天,最好的问候!

所以你在一个 Windows 系统的 DOS 盒子里。

通过点击 Windows 屏幕左下角 Windows 按钮旁边的放大镜,将环境变量添加到您的帐户,然后键入“环境变量”。 您将看到一个点击列表,其中“编辑您的帐户的环境变量”和“编辑系统环境变量”。 单击两者中的任何一个,具体取决于您是想要它自己还是整个 Windows 系统。 使用 [New...] 按钮添加 4 个变量,例如:

Variable         Value
VSQL_USER        dbadmin
VSQL_PASSWORD    dbadmin_s_password
VSQL_HOST        <ip address or host name>
VSQL_DATABASE    <database name, for example vmart>

并编辑变量:

Variable         Value
PATH             <what is already there>;C:\Program Files\Vertica Systems\VSQL64

然后 go:

cd /d <the directory where your data file resides, not necessarily vsql.exe>
vsql -c "COPY planning.sap_mx_env_me2n_zaaptr_zpaitr_envase_transito ^
(planta, folio, des_proveedor, fecha_carga, hora) ^
FROM LOCAL 'C:\Users\geradiaz.MODELO\Desktop\Envase\Transitos\Outputs\Transitos.csv' ^
DELIMITER ',' SKIP 1 EXCEPTIONS 'con' REJECTMAX 3"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM