Új hozzászólás Aktív témák

  • ghostie

    tag

    válasz justmemory #1463 üzenetére

    Igen, pontosan ott száll el. Az sqlq egy szöveges változó, amiben az Sql Select utasítása van benne. Teszteltem egy kicsit tovább a dolgot. Úgy néz ki, hogy magában a viszonylag hosszú SQL utasításban maradt benne egy hosszú Ű, akkor adja ezt a hibaüznetetet. Ez sem jó, de ezen a problémán még át tudunk lépni.

    Viszont ha az SQL utasítában nincs hosszú ű és ő, akkor lefut a lekérdezés, de az adatbázisban eltárolt ű és ő-ket lecseréli u-ra és o-ra (ha máshonnan, pl. pl/sql developerből kérdezem, akkor jól mutatja, vagyis az adatbázisban a megfelelő ékezetes betűk vannak eltárolva). Simán kiíratva a képernyőre is így jelenik meg, illetve csv-be írva is.

    import sys
    import csv
    import cx_Oracle

    csv_file = "tabla.csv"
    outputFile = open(csv_file,'w') # 'wb'
    output = csv.writer(outputFile, delimiter =';',quotechar =',',quoting=csv.QUOTE_MINIMAL, lineterminator='\n')

    con = cx_Oracle.connect('**********')
    cur = con.cursor()
    sqlq="select * from F4101D where imitm=1"

    cur.execute(sqlq)

    for row_data in cur: # add table rows
    output.writerow(row_data)
    print (row_data)

    outputFile.close()
    cur.close()
    con.close()

Új hozzászólás Aktív témák