Python的数据库连接
问题描述:
在巨蟒是否有可能加入下面的代码连接超时,如果可能的话,请帮我Python的数据库连接
connectionString = "Provider=SQLOLEDB.1;Data Source="+options.server+";Initial Catalog="+options.database+";Integrated Security=SSPI"
Connection = win32com.client.Dispatch('ADODB.Recordset')
Connection.ActiveConnection = connectionString
Connection.ActiveConnection.CommandTimeout = 3600
答
我认为你必须积极创建(并打开)的连接:
conn = win32com.client.Dispatch('ADODB.Connection')
conn.CommandTimeout = 3600
conn.Open(connection_string)
然后你就可以做的东西,如:
rs = win32com.client.Dispatch('ADODB.RecordSet')
rs.Open(qry, conn)
(我想你还可以设置ActiveConnection
和CommandText
等...记录,然后执行,但我一直以为Open()
是更简单的方法,我的API的知识是生锈的,至少可以说。 ..)
个人而言,我发现使用一个遵循标准Python db api的模块比较容易,例如adodbapi(包含在pywin32中,您已经在使用它),它也使用COM api,但需要处理即“引擎盖下”或pyodbc。
例与adodbapi:
conn = adodbapi.connect(conn_string, timeout=3600)
cur = conn.cursor()
cur.execute(qry)
而且最后提示:看看sqlalchemy,这使得事情变得更简单(即使你不使用其他的东西,如ORM)
嗨,感谢回答,但我想要的是有可能将ADODB.Recordset和ADODB.connection一起添加,如果它是可行的,那么请举一些例子 – master 2011-03-17 12:30:22