相关疑难解决方法(0)

pyodbc sql包含0个参数标记,但提供了1个参数''hy000'

我使用的是Python 3.6,pyodbc,并连接到SQL Server.

我正在尝试连接到数据库,然后创建带参数的查询.

这是代码:

import sys
import pyodbc

# connection parameters
nHost = 'host'
nBase = 'base'
nUser = 'user'
nPasw = 'pass'

# make connection start
def sqlconnect(nHost,nBase,nUser,nPasw):
    try:
        return pyodbc.connect('DRIVER={SQL Server};SERVER='+nHost+';DATABASE='+nBase+';UID='+nUser+';PWD='+nPasw)
        print("connection successfull")
    except:
        print ("connection failed check authorization parameters")  
con = sqlconnect(nHost,nBase,nUser,nPasw)
cursor = con.cursor()
# make connection stop

# if run WITHOUT parameters THEN everything is OK   
ask = input ('Go WITHOUT parameters y/n ?')
if ask == 'y':
    # SQL without parameters start
    res …
Run Code Online (Sandbox Code Playgroud)

python sql markers pyodbc

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

Python - pyodbc使用参数名称调用存储过程

我需要使用输入参数名称SqlServer stored procedure来自python2.7via pyodbc模块.

我根据输入参数顺序的文档尝试:

cursor.execute('{CALL [SP_NAME](?,?)}',
              ('value', 'value'))
Run Code Online (Sandbox Code Playgroud)

它工作,但我需要通过parameter name of stored procedure因为存储过程输入参数的顺序总是改变.所以我需要通过名字传递它们.

cursor.execute('{CALL [SP_NAME](@param1name,@param2name)}',
              ('value', 'value'))
Run Code Online (Sandbox Code Playgroud)

但这不起作用.什么是正确的语法?

sql-server django stored-procedures pyodbc python-2.7

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