我的Web应用程序中有一个用例,用于检查SQL查询的有效性,如果无效,则显示收到的Oracle错误消息。问题是浏览器区域设置可能是什么,显示的消息是英文。消息如下:
ORA-00900无效的SQL语句
有人告诉我,我需要使用一个名为G $ _NLS_UTILITY的Oracle包,它接受一个参数p_locale并将NLS_LANG设置为其值。我试过这个:
`public static setLocaleInDatabase(sql) {
def userlocale
try {
userlocale = LocaleContextHolder?.getLocale()?.toString()?.replaceAll('-','_')
sql.call("""{call g\$_nls_utility.p_set_nls(${userlocale})}""")
} catch (Exception e) {
log.debug "There was an exception while setting nls for locale ${userlocale}:" + e.getMessage()
}
}`
有人可以用浏览器的语言说明其用法或建议任何其他方法来解决Oracle错误吗?