无法使用 sql PYODBC 中的内置函数 SQL 来自 Lotus Note DB 的查询
unable to use sql built in functions in PYODBC SQL Query from Lotus Note DB
我不熟悉使用 'pyodbc' 从 ODBC 数据库查询数据。特别是 Lotus Notes 数据库。
这是一个使用 SQL 中的函数查询失败的示例:
import pyodbc
import pandas as pd
cnxn = pyodbc.connect("Driver={Lotus Notes SQL Driver (*.nsf)};SERVER=server;DATABASE=db.nsf;PWD=xxxxx;UID=userid", autocommit=True)
cursor = cnxn.cursor()
sql_addon = """SELECT REPLACE(timestamp_DT,'-','') as timestamp_DT
FROM ViewInNoteDB
"""
df_addon = pd.read_sql(sql_addon, cnxn)
这是我得到的错误:
': ('37000', u"[37000] [Lotus][ODBC Lotus Notes]Name, constant, or expression expected (23008) (SQLExecDirectW); [37000] [Lotus][ODBC Lotus Notes]Incorrect syntax near 'SELECT' (23064)")
我在使用 GETDATE()、CONVERT 函数和许多其他函数时遇到不同的错误。
问题似乎与使用 SQL*服务器语法有关,Lotus Notes ODBC 驱动程序不支持该语法。不幸的是,不支持 CAST 和 CONVERT。
我不熟悉使用 'pyodbc' 从 ODBC 数据库查询数据。特别是 Lotus Notes 数据库。
这是一个使用 SQL 中的函数查询失败的示例:
import pyodbc
import pandas as pd
cnxn = pyodbc.connect("Driver={Lotus Notes SQL Driver (*.nsf)};SERVER=server;DATABASE=db.nsf;PWD=xxxxx;UID=userid", autocommit=True)
cursor = cnxn.cursor()
sql_addon = """SELECT REPLACE(timestamp_DT,'-','') as timestamp_DT
FROM ViewInNoteDB
"""
df_addon = pd.read_sql(sql_addon, cnxn)
这是我得到的错误:
': ('37000', u"[37000] [Lotus][ODBC Lotus Notes]Name, constant, or expression expected (23008) (SQLExecDirectW); [37000] [Lotus][ODBC Lotus Notes]Incorrect syntax near 'SELECT' (23064)")
我在使用 GETDATE()、CONVERT 函数和许多其他函数时遇到不同的错误。
问题似乎与使用 SQL*服务器语法有关,Lotus Notes ODBC 驱动程序不支持该语法。不幸的是,不支持 CAST 和 CONVERT。