Mariadb 如何在DataGrip中设置加载数据工作目录?

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文件都位

我在学校有一项任务,就是将一些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文件都位于“文件”面板中的同一目录中

我得到的(相当合乎逻辑的)错误是:

[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的目录)中可用,那么它应该可以工作。