Trabalhando com datas no Access usando pyodbc, fornecendo o erro "Muito poucos parâmetros"
Estou usando o Python com uma importação pyodbc.
Estou usando o Microsoft Office 2013 de 64 bits.
Estou tentando consultar um banco de dados accdb para selecionar datas distintas dentro de um intervalo e atribuí-las a um cursor para que eu possa anexá-las a uma lista.
O banco de dados do My Access possui uma tabela chamada Closing_prices e uma coluna chamada Date_, que possui o tipo de dados "Date / Time".
Meu código é o seguinte:
cursor=conx.cursor()
query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011' and Date_ < '30/04/2014'"
cursor.execute(query)
dates=list()
for date in cursor:
dates.append(date[0])
No entanto, estou recebendo a mensagem de erro:
Traceback (most recent call last):
File "C:/Users/Stuart/PycharmProjects/untitled/Apache - Copy.py", line 20, in <module>
cursor.execute(query)
pyodbc.Error: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. (-3010) (SQLExecDirectW)')
Como Date_ é um datetime, também tentei:
query="select distinct Date_ FROM Closing_prices where Date_ >= '10/8/2011 00:00:00' and Date_ < '30/04/2014 00:00:00'"
Quando eu corro:
cursor = conx.cursor()
query="select Date_ FROM Closing_prices"
cursor.execute(query)
for row in cursor:
print row
print type(row[0])
Recebo a seguinte saída como exemplo:
(datetime.datetime(2014, 3, 24, 0, 0), )
(datetime.datetime(2014, 3, 25, 0, 0), )
(datetime.datetime(2014, 3, 26, 0, 0), )
(datetime.datetime(2014, 3, 27, 0, 0), )
Eu sou relativamente novo em Python e ainda mais novo em consultas SQL, então alguém poderia apontar onde estou errado e talvez como eu possa alterar meu código para me ajudar a acrescentar as datas distintas em uma lista, conforme desejado.
Muito Obrigado.