"Optionale Funktion nicht implementiert (106) (SQLBindParameter)" Fehler mit PyODBCPython

Python-Programme
Anonymous
 "Optionale Funktion nicht implementiert (106) (SQLBindParameter)" Fehler mit PyODBC

Post by Anonymous »

Ich werde angetrieben, dass Nüsse versuchen, diesen herauszufinden. Ich verwende Python zum ersten Mal und versuche, Daten von Twitter in eine Zugriffsdatenbank 2010 zu schreiben.cursor.execute('''insert into core_data(screen_name,retweet_count) values (?,?,)''', (sname,int(rcount)))
< /code>

Die zurückgegebene Fehlermeldung lautet: < /p>

Traceback (most recent call last): File "C:/Documents and Settings/Administrator/PycharmProjects/clientgauge/tw_scraper.py", line 44, in
cursor.execute('''insert into core_data(screen_name,retweet_count) values (?,?,)''', (sname,int(rcount)))
pyodbc.Error: ('HYC00', '[HYC00] [Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented (106) (SQLBindParameter)')
< /code>

Ich habe verschiedene Permutationen beim Übergeben der Daten in die DB ausprobiert. Wenn ich den Int (RCOUNT) -Intrag entferte, wird der erste Wert Sname ohne Probleme veröffentlichen. Sobald ich versuche, mehr als einen Parameter einzugeben, beginnen die Probleme. /> Prost,
kev < /p>

Der vollständige Code ist: < /p>

from twython import Twython
import pyodbc
ACCESS_DATABASE_FILE = 'C:\\data\\ClientGauge.accdb'
ODBC_CONN_STR = 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s;' %ACCESS_DATABASE_FILE
cnxn = pyodbc.connect(ODBC_CONN_STR, autocommit=True)
cursor = cnxn.cursor()
APP_KEY = ''
APP_SECRET = ''
# Authenticate on twitter using keys above
t = Twython(APP_KEY, APP_SECRET, oauth_version=2)
# Obtain new access token for this session
ACCESS_TOKEN = t.obtain_access_token()
# Authenticate using new access token
t = Twython(APP_KEY, access_token=ACCESS_TOKEN)
# Carry out search
search = t.search(q='', #**supply whatever query you want here**
count=1, result_type='recent')
tweets = search['statuses']
for tweet in tweets:
sname=tweet['user']['screen_name']
rcount=int(tweet['retweet_count'])
fcount=tweet['favorite_count']
coord=tweet['coordinates']
tzone=tweet['user']['time_zone']
cdate=tweet['created_at']
htags=tweet['entities']['hashtags']
sql = "insert into core_data(screen_name,retweet_count,favourited_count) values (?,?,?)", (str(sname),rcount,fcount)
print(sql)
cursor.execute('''insert into core_data(screen_name,retweet_count) values (?,?)''', (sname,rcount))
cursor.commit()
cnxn.close()
< /code>

Ich verwende MS Access 2010, Pyodbc-3.0.7.Win32-py3.3.exe, Python 3.3 & Pycharm. Sie können sehen, dass ich anfänglich versucht habe, die Anweisung Einfügen als Zeichenfolge (SQL) einzustellen, und ich habe den Cursor mit: < /p>

aufgerufencursor.execute(sql)
< /code>

Leider hat das auch bei mir nicht funktioniert! Wenn ich den zweiten Parameter durch eine Zahl wie 1 ersetze ... funktioniert er immer noch nicht. Frustrierend.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post