发布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中正确注册。
想法耗尽…
任何帮助都会被淘汰。
答案 0 :(得分:0)
我认为笔记本电脑和服务器上的数据库中的NLS设置是不同的。便携式计算机上的一种与您提供的日期格式(作为字符串)匹配,但服务器上的一种与日期格式不匹配,Oracle无法将其隐式转换为正确的格式,从而返回错误。
所以-比较这些设置。查询NLS_SESSION_PARAMETERS
,NLS_INSTANCE_PARAMETERS
和NLS_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>