刚刚开始使用db2。关于从文件中提供SQL命令的快速问题。
如果我运行:
db2 -f mySQLcommands我的所有命令都是一行sql命令,它们执行起来没有任何问题。如果我把换行符放在我的sql语句中间,那么db2会返回"expected某某字符之后“,下面是一个包含换行符的例子:
CREATE TABLE Example (
id int)如果没有换行符,它将运行。我在nano中测试得很快,所以这意味着它可能使用了\n字符。
发布于 2010-03-07 17:21:07
-t命令行开关用于启用默认情况下以分号结尾的多行语句;
例如:
db2 -t -f mySQLcommands
CREATE TABLE Example (
id int);发布于 2010-03-07 15:39:46
不是对您的问题的直接回答,但是另一种选择是使用use something like PyDB2并让Python管理与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()https://stackoverflow.com/questions/2395503
复制相似问题