sqlalchemy MSSQL在多语句事务中不允许创建数据库语句

时间:2015-06-12 07:12:19

标签: python sql-server sqlalchemy

使用sqlalchemy 1.0.4,python 3.4.3和pyodbc 3.0.10。

我想为MS SQL服务器创建一个带有原始sql的数据库。

"create database statement not allowed within multi-statement transaction"

但上面的代码返回错误con.execute("commit")

我在创建脚本之前尝试了?driver=SQL+SERVER,但它没有做任何事情。

更新
如果我设置驱动程序{{1}}它可以工作!?

1 个答案:

答案 0 :(得分:2)

似乎有几种方法可以做到这一点,关键是自动提交。我无法切换到SQL SERVER,因为它似乎导致apache问题。 如果你只想使用pyodbc,你可以这样做:

public static long CalculateTime(Action t)
        {
            Stopwatch alarme = new Stopwatch();
            alarme.Start();
            t();
            alarme.Stop();
            return alarme.ElapsedMilliseconds;

        } 

您还可以使用sqlalchemy创建连接:

Loading context1 ...... 
end of loading, time = 445
 Loading context2...... 
end of loading2, time = 0
 Selection1...... 
end selection1, time= 7203
 Selection2...... 
end selection2, time = 9

我一直在附件,但我认为它也可以不用。