标签: pypyodbc

如何在Python的PyPyODBC模块中使用FetchAll?

我正在尝试使用PyPyODBC,特别是对这个例子的看法.但是,我对创建一个新表并不感兴趣,我只是想读取数据(它驻留在SQL Server中的数据库/表中)并在Python中使用它.

下面的代码工作正常,但以下部分( for row in cur.fetchall():)除外.

from __future__ import print_function
import pypyodbc
from  pandas import *
import pandas as pd
con = pypyodbc.connect(driver = '{SQL Server}', server = 'WIN-SAV35R5AKCQ',database ='V2.0.6_X12_837I')

cur = con.cursor()
cur.execute('''SELECT * FROM TS837_2400;''')
cur.commit()

for d in cur.description: 
    print (d[0], end=" ")

print('')

for row in cur.fetchall():
    for field in row: 
        print (field, end=" ")
    print ('')

cur.close()
con.close()
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误.

---------------------------------------------------------------------------
Error                                     Traceback (most recent call last)
<ipython-input-70-c08d5a03056a> in <module>() …
Run Code Online (Sandbox Code Playgroud)

python sql-server ipython pypyodbc

2
推荐指数
1
解决办法
7573
查看次数

PyPyODBC没有将记录插入MS-SQL服务器

我是Python的新手,并编写了这个简单的代码,用于将数据插入SQL服务器:

import pypyodbc
connect = pypyodbc.connect('Driver={Sql Server Native Client 11.0};Server=.;Database=SAMPLE;Trusted_Connection=yes;')
cursor = connect.cursor()
print('Trying to insert!')
cursor.execute("insert into [SAMPLE].[dbo].[Register] VALUES ('behzad','razzaqi')")
print('Insert Finish!')
connect.close()
Run Code Online (Sandbox Code Playgroud)

代码执行得很好甚至是我Insert Finish!,但是当我检查SQL服务器时,没有插入记录.发生了什么?我怎么解决这个问题?

python sql-server pypyodbc

2
推荐指数
1
解决办法
1066
查看次数

在 Python 脚本中创建 SQL Server 临时表

我正在使用 pypyodbc 连接到 SQL Server。我想将结果集存储到临时表中,就像我们在 SQL 中所做的那样。但每次我尝试这样做时,我都会收到以下错误消息:

pypyodbc.ProgrammingError: ('24000', '[24000] [Microsoft][ODBC SQL Server Driver]游标状态无效')

这就是我想查询的:

querytest = "SELECT id into #temp from Team"
cursor1.execute(querytest);
var = cursor1.fetchall()
print(var[:10])
Run Code Online (Sandbox Code Playgroud)

python sql-server pyodbc pymssql pypyodbc

1
推荐指数
1
解决办法
7792
查看次数

此版本的 SQL Server 不支持“master..sysdatabases”

我正在尝试将我的 Flask 应用程序与 Azure 数据库连接,这就是我遇到此错误的时候。我找不到任何关于它的东西,任何帮助将不胜感激。

pypyodbc.connect(
    Driver={SQL Server};Server=tcp:******.net,1433;Database=***;UID=***;PWD=***;
)
Run Code Online (Sandbox Code Playgroud)

sql-server pypyodbc azure-sql-database

1
推荐指数
1
解决办法
2451
查看次数

在Python中的select语句的like子句中使用%

import pypyodbc as pyodbc
model_name = 'test'
model_name1 = Master_Cursor.execute("select col1,col2,col3 from tablename where col3 like '%s' order by col3" %(model_name)).fetchall()
Run Code Online (Sandbox Code Playgroud)

上面的代码返回一条匹配的记录model_name = test。我如何取回其他记录model_name=123test123,abctestabc,ABCtestABC等?

基本上是在寻找

select col1,col2,col3 from tablename where col3 like '%test%'.
Run Code Online (Sandbox Code Playgroud)

python pypyodbc

1
推荐指数
1
解决办法
1万
查看次数

使用 Pypyodbc 时 Go 附近的语法不正确

我正在使用该pypyodbc库建立与 SQL Server 2008 R2 数据库的连接,每次尝试执行 .sql 文件时都会遇到以下错误:

pypyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'Go'.")

这是我试图执行的 sql 查询:

Use SL_Site1_App
Go

select emp_num,name, trans_num, job, trans_type
from Hours where trans_type like '1000%'  order by trans_date desc
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的 python 脚本:

import pypyodbc, ExcelFile

def main():
    # read the SQL queries externally
    queries = ['C:\\Temp\\Ready_to_use_queries\\Connection_sql_python.sql']

    for index, query in enumerate(queries):
        cursor = initiate_connection_db()
        results = retrieve_results_query(cursor, query)
        if index == 0:
            ExcelFile.write_to_workbook(results)
            print("The workbook has been …
Run Code Online (Sandbox Code Playgroud)

sql-server python-3.x pypyodbc

1
推荐指数
1
解决办法
1835
查看次数