IT

DataGrip에서 LOAD DATA 작업 디렉토리를 설정하려면 어떻게 해야 합니까?

itgroup 2023. 6. 7. 22:30
반응형

DataGrip에서 LOAD DATA 작업 디렉토리를 설정하려면 어떻게 해야 합니까?

학교에서 몇 가지 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에는 "Import Data from File" 도구가 있습니다.그러나 사용할 때 작업 디렉터리를 설정하는 방법이 있어야 합니다.LOAD DATA그렇죠?

기본 디렉터리를 설정하는 옵션은 없습니다.LOAD DATA LOCAL INFILE.

LOAD DATA LOCAL INFILE 문을 서버로 보낸 후, 서버는 문을 구문 분석하여 파일 이름을 추출하고 클라이언트에서 지정된 파일 이름의 내용을 요청합니다.

클라이언트가 파일을 열 수 없으면 오류가 반환됩니다.

따라서 파일 이름과 함께 경로를 지정하지 않은 경우 파일이 현재 작업 디렉터리(애플리케이션이 시작된 디렉터리와 다를 수 있음)에 있는지 확인합니다.

항상 전체 경로를 지정하는 것이 좋습니다.

예를 들어 MySQL 8은 MYSQL_OPT_LOAD_DATA_LOCAL_DIR 옵션을 설정할 수 있습니다.
이는 로드 데이터 작업에 대한 클라이언트 측 LOCAL 기능에 영향을 미칩니다.LOAD DATA LOCAL 문에서 이름이 지정된 파일이 위치해야 하는 디렉터리를 지정합니다.

언급URL : https://stackoverflow.com/questions/65844554/how-do-i-set-a-load-data-working-directory-in-datagrip

반응형