Mariadb 如何在DataGrip中设置加载数据工作目录?
我在学校有一项任务,就是将一些CSV数据加载到我的MariaDB实例中。进口货物如下:Mariadb 如何在DataGrip中设置加载数据工作目录?,mariadb,datagrip,Mariadb,Datagrip,我在学校有一项任务,就是将一些CSV数据加载到我的MariaDB实例中。进口货物如下: LOAD DATA LOCAL INFILE 'products.csv' INTO TABLE products CHARSET utf8 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (product_id, name ...) ; SQL和CSV文件都位
LOAD DATA LOCAL INFILE 'products.csv'
INTO TABLE products
CHARSET utf8
FIELDS
TERMINATED BY ','
ENCLOSED BY '"'
LINES
TERMINATED BY '\n'
IGNORE 1 LINES
(product_id, name ...)
;
SQL和CSV文件都位于“文件”面板中的同一目录中
我得到的(相当合乎逻辑的)错误是:
[2021-01-22 12:34:41] [22000][-1] (conn=184) Could not send file : products.csv (No such file or directory)
我知道DataGrip有一个“从文件导入数据”工具。但是在使用
加载数据时必须有一种方法来设置工作目录,对吗?没有为加载数据本地填充设置默认目录的选项
将LOAD DATA LOCAL INFLE语句发送到服务器后,服务器解析该语句并提取文件名,并从客户端请求指定文件名的内容
如果客户端无法打开该文件,将返回一个错误
因此,如果不指定路径和文件名,请确保该文件位于当前工作目录中(可能与启动应用程序的目录不同)
最佳实践始终是指定完整路径
例如,MySQL 8提供设置选项MySQL\u OPT\u LOAD\u DATA\u LOCAL\u DIR,
这会影响加载数据操作的客户端本地功能。它指定在LOAD DATA LOCAL语句中命名的文件必须位于的目录。尝试使用csv.true的绝对路径(完整路径),但这意味着项目也不是很容易移植?如果您的csv文件在当前工作目录(您连接mariadb的目录)中可用,那么它应该可以工作。