pertanyaan serupa ditanyakan. Tujuannya adalah untuk membuat fungsi yang dijelaskan di sini:
def DB_Query(d1, d2):
conn = pyodbc.connect('DSN=DATASOURCE')
tbl = "SELECT TableA.Field_1 \
FROM TableA \
WHERE TableA.Date>=? AND TableA.Date<=?"
df_tbl= pd.read_sql_query(tbl, conn, params = (d1,d2))
conn.close
return df_tbl
Ini berfungsi pada database dengan driver SQL Server, tetapi tidak berfungsi pada driver Microsoft ODBC untuk Oracle.
Ketika saya memberi, misalnya d1 = '2020-02-20'
dan d2 = '2020-02-25'
, saya mendapatkan kesalahan ('HY004', '[HY004] [Microsoft][ODBC Driver Manager] SQL data type out of range (0) (SQLBindParameter)')
Saya mengerti di Oracle, Anda memerlukan DATE 'YYYY-MM-DD'
untuk menyatakan tanggal, yang berbeda dari server SQL di mana Anda bisa menggunakan 'YYYY-MM-DD'
saja.
Saya sudah mencoba menambahkan DATE
di depan ?
tetapi tidak berhasil. Ada ide?