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 

+0

嗨,感谢回答,但我想要的是有可能将ADODB.Recordset和ADODB.connection一起添加,如果它是可行的,那么请举一些例子 – master 2011-03-17 12:30:22

我认为你必须积极创建(并打开)的连接:

conn = win32com.client.Dispatch('ADODB.Connection') 
conn.CommandTimeout = 3600 
conn.Open(connection_string) 

然后你就可以做的东西,如:

rs = win32com.client.Dispatch('ADODB.RecordSet') 
rs.Open(qry, conn) 

(我想你还可以设置ActiveConnectionCommandText等...记录,然后执行,但我一直以为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)