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
'IT' 카테고리의 다른 글
TypeScript 컴파일 오류 TS5037: '--module' 플래그가 제공되지 않으면 외부 모듈을 컴파일할 수 없습니다. (0) | 2023.06.07 |
---|---|
설명 계획을 사용하여 쿼리를 최적화하는 방법은 무엇입니까? (0) | 2023.06.07 |
vuex 상태에서 메타 테마 색상 변경 (0) | 2023.06.07 |
Swift perform Selector:withObject:afterDelay:는 사용할 수 없습니다. (0) | 2023.06.02 |
PL/pgSQL을 사용하여 쿼리 결과를 변수에 저장 (0) | 2023.06.02 |