我目前正在使用pyodbc从数据库中选择一个大的行列表.然后将结果复制到一个大型列表,然后我尝试迭代列表.在我放弃python并尝试在C#中创建它之前,我想知道是否有一些我做错了.
clientItems.execute("Select ids from largetable where year =?", year);
allIDRows = clientItemsCursor.fetchall() #takes maybe 8 seconds.
for clientItemrow in allIDRows:
aID = str(clientItemRow[0])
# Do something with str -- Removed because I was trying to determine what was slow
count = count+1
Run Code Online (Sandbox Code Playgroud)
更多信息:
谁能告诉我什么是错的?脚本运行这么慢吗?
谢谢
我很难让所有这三个人和睦相处.我想我会列出所有各种配置,以及测试代码,看看是否有一双新鲜的眼睛可以实现我的愚蠢.
我正在运行12.04 Ubuntu Server,我正在尝试连接到MSSQL Server 2008并最终使用它与PyODBC.
但是,刚刚投入
tsql -S T2 -U Foo -P Bar
Run Code Online (Sandbox Code Playgroud)
我明白了
1>
2>
3>
4>
5>
6>
7>
8>
9>
10>
11>
Run Code Online (Sandbox Code Playgroud)
等等.
无论如何,如果有人能够提供帮助(如果你能让我清除这种阴霾,我将永远感激不尽),这是我目前的配置.
这是我的/etc/odbc.ini
[ODBC Data Sources]
odbcname = MySQL
T2 = MSSQL
[odbcname]
Driver = /usr/lib/odbc/libmyodbc.so
Description = MyODBC 3.51 Driver DSN
SERVER = Foobar
PORT = 3306
USER = Foo
Password = Bar
Database = Foobar
OPTION = 3
SOCKET =
[T2]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
SERVER = …Run Code Online (Sandbox Code Playgroud) 我pyodbc用来连接数据库并从中提取某些数据.
这是我的代码:
con = pyodbc.connect("driver={SQL Server};server= MyServer;database= MyDatabase;trusted_connection=true")
cursor = con.cursor()
SQL_command = """
SELECT RowID = ISNULL
(
(
SELECT TOP 1 RowID
FROM [MyDatabase].[admin].[MyTable]
WHERE [queue] = ? and processed IS NULL
)
,-1
)
"""
cursor.execute(SQL_command, queueNumber)
cursor.commit()
con.commit()
result_set = cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)
运行上面的代码后出现以下错误:
pyodbc.Error:('HY010','[HY010] [Microsoft] [ODBC SQL Server驱动程序]函数序列错误(0)(SQLFetch)')
我可以知道是什么导致了这样的问题,我该如何解决?
谢谢.
我使用pyodbc驱动程序使用SQL连接到microsoft访问表.有谁知道如何更换此表中的字段?我有关于删除行然后将行放回,但由于访问中的自动编号,这将更改主键.
我有这个插入Progress表:
cnxn = pyodbc.connect('Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=C:\\Users\\...............(file location)')
cursor = cnxn.cursor()
cursor.execute("insert into Progress(CockpitDrill,Mirrors,MoveOff,TurnLeft) values (?,?,?,?)",cockpit,mirrors,moveOff,turnLeft,)
cnxn.commit()
Run Code Online (Sandbox Code Playgroud)
那么我该如何替换这些字段呢?假设我想将CockpitDrill从'2'改为'3',(它们都是字符串).
任何帮助将不胜感激.
我在使用pyodbc连接访问数据库时遇到问题.我已经看到其他示例代码看起来与我的工作相同:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=PYODBC.accdb;UID=me;PWD=pass')
cursor = cnxn.cursor()
cursor.execute("SELECT Forename FROM Student")
row = cursor.fetchone()
if row:
print(row)
Run Code Online (Sandbox Code Playgroud)
我的机器运行在Windows 7家庭高级64位.我有Microsoft Office 2010; 32位我正在运行python 3.3; 32位
我不知道它有什么问题,我甚至没有收到错误消息,shell打开,但没有任何反应.任何帮助是极大的赞赏
我正在使用运行 python v3 的 64 位 python anaconda v4.4。我有 MS Access 2016 32 位版本。我想使用 pyodbc 让 python 与 Access 交谈。是否可以使用 64 位 pyodbc 与 MS Access 2016 32 位数据库通信?
我已经有许多使用 64 位 python anaconda 运行的 python 应用程序。降级到 32 位 python 将是一件苦差事。
import pyodbc
connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
'Database=CSM_reporting;Trusted_Connection=yes;')
Run Code Online (Sandbox Code Playgroud)
connection = pyodbc.connect('Driver = {SQL Server}; Server = SIWSQL43A\SIMSSPROD43A;'pyodbc.Error:('IM002','[IM002] [Microsoft] [ODBC Driver Manager]未找到数据源名称且没有默认值驱动程序指定(0)(SQLDriverConnect)')
我正在尝试使用iODBC从我的Mac开发机器连接到Microsoft SQL Server.无论我做什么,我都会收到Unable to connect to data sourceFreeTDS驱动程序的错误消息.在查阅了各种手册,博客文章和StackOverflow问题之后,我就完蛋了.
我正在使用Mac OS X 10.7.4,通过Homebrew安装FreeTDS版本0.91.这是我正在做的事情:
$ brew install freetds
$ mkvirtualenv odbc
$ workon odbc
$ pip install pyodbc
$ tsql -H localhost -U mydbusername -P mydbpassword -p 1433
locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1> quit
Run Code Online (Sandbox Code Playgroud)
以上连接和工作,但:
$ iodbctest
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008
Enter ODBC connect string (? shows list): driver={TDS};server=localhost;uid=mydbusername;pwd=mydbpassword;database=mydbname
1: SQLDriverConnect = [FreeTDS][SQL Server]Unable …Run Code Online (Sandbox Code Playgroud) 我需要使用Python 2.7将unicode发送到SQL Server.我用pymssql失败了.我现在正努力pypyodbc工作(而不是pyodbc),因为它提供了工作的unicode示例.问题是示例中的连接字符串看起来不像我认识的任何东西.我看了这个,经过一些试验和错误,构造了这个字符串:
conn = pypyodbc.connect("DRIVER={SQL Server};SERVER='MyServer';UID='me';PWD='MyPassword';DATABASE='db'")
Run Code Online (Sandbox Code Playgroud)
重新DatabaseError关注连接字符串:
C:\Anaconda\lib\site-packages\pypyodbc.pyc in __init__(self, connectString, autocommit, ansi, timeout, unicode_results, readonly, **kargs)
---> 2 conn = pypyodbc.connect("DRIVER={SQL Server};SERVER='MyServer';UID='me';PWD='password';DATABASE='db'")
C:\Anaconda\lib\site-packages\pypyodbc.pyc in __init__(self, connectString, autocommit, ansi, timeout, unicode_results, readonly, **kargs)
---> 2273 self.connect(connectString, autocommit, ansi, timeout, unicode_results, readonly)
C:\Anaconda\lib\site-packages\pypyodbc.pyc in connect(self, connectString, autocommit, ansi, timeout, unicode_results, readonly)
---> 2321 check_success(self, ret)
C:\Anaconda\lib\site-packages\pypyodbc.pyc in ctrl_err(ht, h, val_ret, ansi)
---> 919 raise DatabaseError(state,err_text)
DatabaseError: (u'08001', u'[08001] …Run Code Online (Sandbox Code Playgroud) 我在Windows 7上使用ActivePython 2.7.2.5.
在尝试使用以下代码使用pyodbc模块连接到sql-server数据库时,我会收到后续的Traceback.关于我做错了什么的任何想法?
码:
import pyodbc
driver = 'SQL Server'
server = '**server-name**'
db1 = 'CorpApps'
tcon = 'yes'
uname = 'jnichol3'
pword = '**my-password**'
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=server;DATABASE=db1;UID=uname;PWD=pword;Trusted_Connection=yes')
cursor = cnxn.cursor()
cursor.execute("select * from appaudit_q32013")
rows = cursor.fetchall()
for row in rows:
print row
Run Code Online (Sandbox Code Playgroud)
追溯:
Traceback (most recent call last):
File "pyodbc_test.py", line 9, in <module>
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=server;DATABASE=db1;UID=uname;PWD=pword;Trusted_Connection=yes')
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC …Run Code Online (Sandbox Code Playgroud) pyodbc ×10
python ×7
sql ×5
sql-server ×4
freetds ×2
ms-access ×2
32bit-64bit ×1
activepython ×1
database ×1
iodbc ×1
macos ×1
odbc ×1
pypyodbc ×1
pyqt ×1
pyqt4 ×1
python-2.7 ×1
ubuntu ×1
unixodbc ×1