inflearn logo
강의

Course

Instructor

SQL Basics from a Silicon Valley Data Leader

DuckDB Practice Environment Setup

DuckDB API 사용시 Connection Error가 발생합니다.

374

KyungJun Lee

2 asked

1

실습 코드를 순서대로 진행하니 아래와 같은 에러가 발생했습니다.

Screenshot 2024-09-22 at 11.20.40 PM.png


*********************

확인해보니 3번째 셀에서 duckdb를 연결하고

%sql duckdb:///duckdb.db

 

그 아래에서 다음과 API로 연결을 시도하면 계속 에러가 발생합니다.

duckdb_con = duckdb.connect("duckdb.db")

 

**********************

그래서 노트북 세션을 초기화하고 duckdb.db 파일을 삭제하고 3번째 셀을 실행하지 않고 duckdb API로 바로 연결하니 그때서야 제대로 연결되었습니다.

sql 빅데이터 dbms/rdbms 데이터-엔지니어링 duckdb 데이터-리터러시

Answer 4

0

keeyonghan

제가 전에 이걸 답글을 안 올렸네요 ㅜㅜ 먼저 죄송하다는 말씀 드리겠습니다.

해당 google colab을 수정했고 도입부에 어떤 변화들이 있었는지 정리했는데 여기 다시 적어보겠습니다:

강의 출시 후 변경 사항 (1)

  • DuckDB가 한 세션 내에서 하나보다 많은 세션을 막기 시작했습니다. 그 결과 강의 내에서 SQL extension으로 연결하고 Python API로 연결하는 걸 동시에 사용할 수 없는 불편함이 생겼습니다.

  • 한번에 하나씩만 연결하게 내용을 변경했고 SQL extension 사용 전후로 아래 코드를 실행합니다.

%sql duckdb:///duckdb.db
...
%sql --close duckdb:///duckdb.db

Python API 커넥션의 경우 앞뒤로 다음 코드를 실행합니다.

duckdb_con = duckdb.connect("duckdb.db")
# ...
duckdb_con.close()

강의 출시 후 변경 사항 (2)

  • 앞서 DuckDB 업그레이드 이외에도 SQLAlchemy 2.x로 업그레이드되면서, 모든 실행이 트랜잭션 안에서 이뤄지면서 실행이 무슨 이유이건 실패하면 명시적으로 ROLLBACK을 해주어야 합니다. 예를 들어 두 개의 SQL(SQL1, SQL2)을 별도 셀로 실행한다면 전에는 SQL1이 실패해도 뒤 SQL2를 실행하는데 문제가 없었습니다만 이제는 SQL1이 실패하면 SQL2를 실행하기 전에 "ROLLBACK;"을 실행해주어야 합니다.

SQL1; -- 이게 실패하면 뒤 SQL2를 실행하기 전에 앞서 ROLLBACK을 별도로 실행해주어야함
ROLLBACK;
SQL2; 

문제가 계속되면 알려주세요!

0

newjoseph96

저도 같은 문제가 발생하는데, 혹시 업데이트된 부분이 있을까요?

0

keeyonghan

확인해보고 다시 답변드릴게요! 감사합니다.

-2

communityai8509

안녕하세요, 인프런 AI 인턴입니다. KyungJun Lee님.

DuckDB API 사용 시 발생하는 연결 문제에 대한 해결 방법은 이미 여러 질문 및 답변에서 논의된 바 있습니다.

비슷한 질문을 참고하시면 도움이 될 것으로 보입니다. 아래에 유사한 질문 및 답변 링크를 첨부합니다:

DuckDB API 사용 시 Connection Error 해결 방법

해당 링크에서 DuckDB 연결 문제를 해결하는 다양한 방법과 팁을 확인할 수 있습니다. DuckDB는 동시에 여러 설정으로 동일한 데이터베이스 파일에 연결할 수 없다는 제한이 있으며, 이는 연결 시 발생하는 일반적인 문제 중 하나입니다.

핵심 요약:
- 같은 데이터베이스 파일에 여러 연결을 생성하려면 모든 설정이 동일해야 합니다.
- 초기화한 후 바로 API로 연결하는 것이 문제를 방지할 수 있는 한 가지 방법입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

2강에 파일 어디있을까여,,

0

11

2

작업형2 모의문제1 (30강)

0

14

1

다음 강의는 언제쯤 나올까요?

0

13

1

수강 기간 연장 문의 드립니다.

0

16

1

땃지님 실습소 DB서버 확인 부탁드립니다

0

18

1

수강 계획과 관련해 문의 드립니다.

0

19

1

강의자료 문의

0

18

1

마인드맵 사용 프로그램

0

18

1

엔터티 종류

0

20

2

제 3 정규형 vs BCNF 정규형 차이점?

0

25

2

DESC, ASC

0

23

2

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

38

2

강의 교재[빅분기]

0

18

2

수파베이스 ORM 질문

0

26

2

작업형 1 -연습문제 4-6

0

30

2

GROUP BY 시 인덱스를 타지 않는 이유가 궁금합니다

0

21

1

요소공개 트리거만들때.

0

13

1

FOREIGN KEY 정리하기, 영상대로 SQL코드 복붙해도 안되요.

0

19

1

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

26

2

트리거 질문

0

26

1

Vercel 실행이 안됩니다

0

24

1

강의 교안 제공 문의

1

78

2

NPS 데이터 셋 다운로드에 이상이 있습니다.

1

122

1

만약 데이터 웨어하우스에서 분석한 내용을 다시 고객에게 서빙하고 싶다면 어떻게 하나요?

1

249

1