sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000',"[42000] [Microsoft][ODBC SQL Server Dr

N

nepaul

=======================case1==============================:
import sqlalchemy
test1 = "631f2f68-8731-4561-889b-88ab1ae7c95a"
cmdTest1 = "select * from analyseresult where uid = " + test1
engine = sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)
======================case2===============================:
import sqlalchemy
test2 = "123"
cmdTest2 = "select * from analyseresult where uid = " + test2
engine = sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)


!!!!!
case1 :wrong,(sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'f2f68') case2:work!
 
A

Alain Ketterlin

nepaul said:
=======================case1==============================:
import sqlalchemy
test1 = "631f2f68-8731-4561-889b-88ab1ae7c95a"
cmdTest1 = "select * from analyseresult where uid = " + test1
engine = sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)
======================case2===============================:
import sqlalchemy
test2 = "123"
cmdTest2 = "select * from analyseresult where uid = " + test2
engine = sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)


!!!!!
case1 :wrong,(sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'f2f68') case2:work!

Print both cmdTest1 and cmdTest2. Look at them. Are they valid SQL
queries?

-- Alain.
 
P

Peter Otten

nepaul said:
=======================case1==============================:
import sqlalchemy
test1 = "631f2f68-8731-4561-889b-88ab1ae7c95a"
cmdTest1 = "select * from analyseresult where uid = " + test1
engine =
sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)
======================case2===============================: import
sqlalchemy test2 = "123"
cmdTest2 = "select * from analyseresult where uid = " + test2
engine =
sqlalchemy.create_engine("mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1)


!!!!!
case1 :wrong,(sqlalchemy.exc.ProgrammingError: (ProgrammingError)
('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'f2f68')
case2:work!

I'd guess the uuid needs to be quoted. Don't do that yourself -- your code
will become vulnerable to sql injection attacks -- use the dbapi instead:

# Again just guessing; I'm not an sqlalchemy user.
import sqlalchemy
test1 = "631f2f68-8731-4561-889b-88ab1ae7c95a"
cmdTest1 = "select * from analyseresult where uid = %s"
engine = sqlalchemy.create_engine(
"mssql+pyodbc://DumpResult:123456@localhost/DumpResult")
c = engine.execute(cmdTest1, test1)

Note that I'm not using Python's string formatting. The two arguments are
passed as is and mysql builds the resulting query.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,154
Members
46,702
Latest member
LukasConde

Latest Threads

Top