我正在通过Qlikview连接到pl/sql (oracle),对于相同的脚本,我使用ODBC连接,脚本没有问题地运行,但是当我使用OLEDB连接时,我收到一个错误ORA-01861:文字不匹配格式字符串。我的问题主要是为什么我的脚本使用ODBC连接而不是OLEDB工作呢?
添加代码,因为我想使我的查询与下面的OLE DB Connection...The压缩是发生挂起的地方。
SELECT DISTINCT B.CLT_CLT_PGMID,TO_CHAR(B.FIRST_PHONE_CONTACT,'MM/DD/YYYY') AS FIRST_PHONE_CONTACT,
ABS(TO_DATE(B.FIRST_ASSGN_DT, 'DD-MM-YYYY') - TO_DATE(B.FIRST_PHONE_CONTACT, 'DD-MM-YYYY')) AS FIRST_Contacted_By_Phone_Days
FROM (
SELECT DISTINCT MIN(SERVICE_DATE) AS FIRST_PHONE_CONTACT
,a.FIRST_ASSGN_DT, a.FIRST_CONTACT_DT, d.is_visit, d.attempt_or_contact,a.PERS_GEN_KEY,a.CLIENT_PROGRAM,a.clt_clt_pgmid
FROM A
LEFT JOIN D ON A.CLT_CLT_PGMID = D.CLT_CLT_PGMID AND A.ID_CARD = D.ID_CARD
WHERE 1=1
rownum <10
GROUP BY a.FIRST_ASSGN_DT, a.FIRST_CONTACT_DT, d.is_visit, d.attempt_or_contact,a.PERS_GEN_KEY,a.CLIENT_PROGRAM,a.clt_clt_pgmid
) B下面是错误发生的地方: ABS(TO_DATE(B.FIRST_ASSGN_DT,'DD-MM-YYYY') - TO_DATE(B.FIRST_PHONE_CONTACT,'DD-MM-YYYY'))为FIRST_Contacted_By_Phone_Days
发布于 2016-06-30 17:03:12
在你的电脑上看看这个:
对于OLE DB,它说:
无法使用ALTER NLS_DATE_FORMAT命令设置Oracle会话的日期格式。在Visual中,日期格式由Windows控制面板中的“区域设置”属性控制。有关Visual日期格式的详细信息,请参阅Visual文档。
对于OLE的Oracle,如果连接属性UseSessionFormat为FALSE,这是一个默认值,则该提供程序将会话的NLS_DATE_FORMAT固定为‘YYYY DD SS 24:MI:SS’。如果将日期作为字符串传递给Oracle数据库,则日期必须是‘YYYY DD SS 24:MI:SS’格式。如果UseSessionFormat为真,则OLE的Oracle不修复NLS_DATE_FORMAT,并且使用默认会话NLS_DATE_FORMAT。
ODBC的行为可能有所不同。
发布于 2016-06-30 14:20:43
理想情况下,两者都应该起作用。请参阅帖子
因此,OLE DB似乎通过ODBC驱动程序层与基于SQL的数据源进行交互。

https://stackoverflow.com/questions/38125500
复制相似问题