0
嗨,我试图用整理上有列名per_va_first_name
一个观点,当我使用下面的查询:如何使用分页在Hibernate中为法国字符集
SELECT *
FROM person_view
WHERE NLSSORT(per_va_first_name, 'NLS_SORT = FRENCH_AI') = NLSSORT('mickaël', 'NLS_SORT =FRENCH_AI')
我得到的错误
ORA-12702:在SQL函数中使用无效的NLS参数字符串
我是新来甲骨文,这nlssort
。任何人都可以帮我指出我的错误是什么? 同时我想在Hibernate for Java中使用collate。相同的法国字符集。
编辑:
当我使用SQL
alter session set nls_sort=French_AI;
alter session set nls_comp=linguistic;
当执行此查询
SELECT * FROM v_myuser_search_test_ea4 where per_va_first_name like 'Mickaël%'
如何在Hibernate中做到这一点,我得到所需的输出这些命令?有没有一种方法,我可以追加“CI”到French_AI,使其“French_AI_CI”
我试过了,徒劳。它只给我一个名为“mickaël”的记录,而不是所有记录中的“mickael”。 Bdw我与French_CI_AI犯了错误。我不知道有什么问题,但支持French_AI或French_CI,但不支持。 –
对不起,我不明白你最初的问题。你可以改变NLS_SORT和NLS_COMP的数据库级别的属性吗? –
据我所知,Oracle JDBC驱动程序没有设置这些参数的选项,它使用底层虚拟机字符集和编码进行整理。我在Linux上与WebSphere应用服务器有类似的问题,与使用UTF-8的Oracle数据库交谈。直到我设置VM属性user.language和user.country(对于您的情况,它将是-Duser.language = fr -Duser.country = FR),调整程序才工作。 –