在发布了一个使用OracleDB查询Oracle.ManagedDataAccess的ASMX之后,我遇到了一个问题。
当我调试webservice,调用相应的WebMethod时,我可以毫无问题地运行oracle查询!但是,当我将其发布到IIS7服务器并调用引用的WebMethod时,就会得到或01861错误。
显而易见的答案是PL/SQL语法有一个"TO_DATE“函数,而不是格式良好的.但是,为什么我可以在我的笔记本电脑中调试它呢?!?
调试膝上型计算机和IIS服务器都是64位。Oracle.ManagedDataAccess动态链接库为64位。已启用IIS中的“启用32位应用程序”,已检查程序集是否正确注册在IIS服务器的GAC_64中。
耗尽思想…
任何帮助都会得到很大的帮助。
发布于 2018-09-27 11:32:18
我认为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>https://stackoverflow.com/questions/52535211
复制相似问题