ORA-01861仅在发布到IIS时抛出错误

时间:2018-09-27 10:45:40

标签: oracle iis

发布ASMX Web服务后出现问题,该服务使用Oracle.ManagedDataAccess查询OracleDB。

当我调试 Web服务时,调用相应的WebMethod,我可以毫无问题地运行oracle sql查询!但是,当我将其发布到IIS 7服务器并调用引用的WebMethod时,出现 ORA-01861错误

显而易见的答案是PL / SQL语法具有格式不正确的“ TO_DATE”功能... 但是我怎么能在 debug 中运行它我的笔记本电脑?!?

调试便携式计算机和IIS服务器均为64位。和Oracle.ManagedDataAccess dll是64位。已在IIS中启用“启用32位应用程序”,已经检查了程序集是否已在我的IIS服务器的GAC_64中正确注册。

想法耗尽…

任何帮助都会被淘汰。

1 个答案:

答案 0 :(得分:0)

我认为笔记本电脑和服务器上的数据库中的NLS设置是不同的。便携式计算机上的一种与您提供的日期格式(作为字符串)匹配,但服务器上的一种与日期格式不匹配,Oracle无法将其隐式转换为正确的格式,从而返回错误。

所以-比较这些设置。查询NLS_SESSION_PARAMETERSNLS_INSTANCE_PARAMETERSNLS_DATABASE_PARAMETERS,例如

SQL> select * From nls_session_parameters;

PARAMETER                      VALUE
------------------------------ -----------------------------------
NLS_LANGUAGE                   CROATIAN
NLS_TERRITORY                  CROATIA
NLS_CURRENCY                   kn
NLS_ISO_CURRENCY               CROATIA
NLS_NUMERIC_CHARACTERS         ,.
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD.MM.RR
NLS_DATE_LANGUAGE              CROATIAN
NLS_SORT                       CROATIAN
NLS_TIME_FORMAT                HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT           DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT        DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY              kn
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE

17 rows selected.

SQL>