- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有两个问题:
问题 1:
假设我有两个 .py File-1 和 File-2
File-1 包含以下语句:
try:
cononnection = pypyodbc.connect('DRIVER={SQL Server};'
'SERVER=........'
'DATABASE=......'
'UID=......;PWD=......')
except:
print("I am unable to connect to the SQL SERVER Database")
在 File-2 中,如果我按以下方式使用 File-1 中定义的连接:
import AnotherPythonFile as File1
def query():
conxn1 = File1.cononnection
conxn2 = File1.cononnection
...
...
conxn1 和 conxn2 会使用在 File-1 中打开的相同连接,还是会打开另外两个新连接?
问题 2:
如果在执行以下语句时发生'pypyodbc.DatabaseError',那么连接会自动关闭(由于错误)吗?
cursr = connection.cursor()
cursr.execute(queryStr)
最佳答案
您必须将导入的模块包装在定义的函数中,并让函数返回连接对象:
# FILE 1
import pypyodbc
def dbconn():
try:
cononnection = pypyodbc.connect('DRIVER={SQL Server};'
'SERVER=........'
'DATABASE=......'
'UID=......;PWD=......')
return connection
except:
print("I am unable to connect to the SQL SERVER Database")
然后
import AnotherPythonFile as File1
def query():
# EACH WILL USE DIFFERENT INSTANCES OF SAME CONNECTION OBJECT
conxn1 = File1.dbconn()
conxn2 = File1.dbconn()
至于第二个问题,没有,当SQL查询执行失败时,游标和数据库连接都不会自动关闭。事实上,您可以测试这个断言。故意地,强制一个错误:
cursr.execute("SLEECT * FROM Table;")
然后,看到在引发回溯错误后,您仍然可以在 Python 的控制台中调用 cursr.close()
和 connection.close()
。
关于python - pypyodbc - 重用数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301809/
我有一个 SQLServer TSQL 查询,其中包含多个 INSERT 语句,这些语句的范围从非常基本到有些复杂。 此查询适用于 SQLServer Management Studio。 当我使用
我正在使用 Python 3.3、pypyodbc 1.2.1 和一个通过 Flexquarters QODBC 版本 14 访问的 Quickbooks Enterprise 12 公司文件。我是编
我有两个问题: 问题 1: 假设我有两个 .py File-1 和 File-2 File-1 包含以下语句: try: cononnection = pypyodbc.connect
使用 FreeTDS 和 Python3.5 库 PyPyodbc 当我尝试在 SQL Server 数据库(驻留在 Windows 上)中插入一行时,我得到了一个“字节串太长”。在 FreeTDS
所以我有一个存储过程,我想连接到它并在 python 中执行,这样我就可以将数据导出为一个精美的表。 这是我使用的代码,注释是我尝试过的代码。 import plotly as py import p
我正在运行一个相对简单的 python 脚本,该脚本旨在读取一个包含一系列存储过程的文本文件 - 每行一个。该脚本应该在第一行运行存储过程,移动到第二行,在第二行运行存储过程,等等。运行这些存储过程应
我在使用 pypyodbc 模块更新数据库时面临挑战。没有出现任何错误,代码执行成功;但 SQL-Server DB 未更新。正在从数据库获取数据。 请检查: connection = pypyodb
我想弄清楚为什么我的 python 测试程序无法运行。我可以从 MySql Workbench 访问数据库,我认为我在编程部分做的一切都是正确的,我还去了管理工具并将我的数据库添加到 ODBC 数据库
这个命令工作正常.. count = conn.cursor().execute("select COUNT(*) FROM Orders;").fetchall() 但是这个命令会返回一个错误 co
在这种情况下,我创建了一个方法来在数据库中插入行。我向该方法提供列、值和表名。 COLUMNS = [['NAME','SURNAME','AGE'],['SURNAME','NAME','AGE']
使用 PyPyodbc 导入连接到我的 Azure SQL 数据存储。用它来检索数据,效果非常好。尝试添加 Flask 应用程序将数据添加到 SQL 数据存储的功能,但出了问题。 ` from fla
很晚了,我累了 - 我希望我只是犯了一个愚蠢的错误,但我似乎看不到它。谁能看到我可能做错了什么?如果我在 SQL Server Management studio 上运行 SQL,它工作得很好。我可以
我想序列化查询结果。这是我的例子: import pypyodbc import pickle connection_string ='Driver={SQL Server Native Client
在_mssql.connect 中,有一个添加appname 的选项。我想知道 pypyodbc.connect 是否有类似的东西。 谢谢。 最佳答案 是的,作为连接字符串的一部分: DSN=myDa
尝试使用 pypyodbc 连接到 sql server,但我不断收到“未找到数据源名称且未指定默认驱动程序”错误。请参阅下面的尝试。我对这一切还很陌生,但仍然认为至少测试连接会更容易。 import
>>> pypyodbc.win_create_mdb('E:/Database/Japan/201112.mdb') 它在双层文件夹中工作正常,但是当我创建 tripper-level 文件夹错误时
pypyodbc 过去曾为我工作过,但由于某种原因它不起作用。我在 ~/.odbc.ini 中定义了这个 [as400]
我知道pyodbc是一个较旧的项目,可能更具特色和健壮性,但它的设计(基于编译的 C 代码的组件)是否有任何东西使其优于纯 Python 实现,例如 pypyodbc ? 我做了很多 ETL 工作,并
我是 Python 的新手,并编写了这段用于将数据插入 SQL 服务器的简单代码: import pypyodbc connect = pypyodbc.connect('Driver={Sql Se
我正在尝试在 Python 脚本中使用 OPENJSON 将一些基本的 JSON 导入到 SQL 数据库中。我最初尝试使用更复杂的 JSON 文件,但为了这篇文章对其进行了简化。这是我拥有的: sql
我是一名优秀的程序员,十分优秀!