2010-03-07 3 views
2

그냥 db2를 시작하십시오. 파일에서 SQL 명령을주는 것에 대한 간단한 질문입니다.db2 sql 스크립트 및 개행

나는 실행하는 경우 :

db2 -f mySQLcommands 

내 모든 명령은 아무런 문제없이 실행 한 줄의 SQL 명령입니다. 내 SQL 문장의 중간에 줄 바꿈을 넣어 경우 DB2는 다시 함께 제공 "기대 같은 후에 이러한 문자" 가 여기에 새로운 라인 예입니다 : 더 줄 바꿈이 없었다 경우

CREATE TABLE Example (
       id int) 

가 실행됩니다. 나는 나노에서 빨리 테스트 했으므로 아마 \ n 문자를 사용하고있는 것입니다.

답변

4

사용에게 -t 명령 줄 스위치를 세미콜론으로 종료 기본적으로있는 멀티 라인 문을 사용하려면;

db2 -t -f mySQLcommands 

CREATE TABLE Example (
       id int); 
0

질문에 대한 직접적인 대답은 아니지만 use something like PyDB2에 대한 대안으로 파이썬이 DB2와의 인터페이스를 관리하도록 할 수 있습니다. 이 같은

뭔가 수행해야합니다

import pydb2 

mysqlstmt = open('create_table_example.sql', 'r').read() # multi-line SQL is ok 

conn = pydb2.connect(database="db", host="hst", user="usr", password="pswd") 
c = conn.cursor() 

c.execute(mysqlstmt) 

conn.commit() 
c.close() 
conn.close() 

mysqlstmt.close() 
+0

일반 텍스트 sql 파일이어야합니다. 내 결정이 아니야. : –

+0

@Chris : 일반 텍스트 파일에서 쿼리를 읽고 위의 방법을 사용하여 DB2로 보낼 수 있습니다. afaik .sql 파일은 일반 텍스트입니다. 매일 같이 행복하게 작업합니다. – bernie