2008-10-20 58 views
1

我使用的排序规则与我的操作系统语言不同。我正在使用ODBC驱动程序访问数据库。当我准备一个语句(例如“select * from x where =?”)时,涉及到数据库排序规则支持的特殊非ASCII字符,我在查找包含字符的数据行。当我直接用sql字符串中的参数执行select时,找不到数据行。使用Oracle ODBC准备与直接语句的差异

回答

1

纯粹的猜测我的部分,但它可能是因为您的客户端计算机没有编码的SQL字符串与正确写入它的参数。我认为如果您的客户端设置为与数据库整理不同的区域设置,则包含发送到Oracle的select语句的字符数组将包含原始时髦字符所在的“不正确”字节 - Oracle会将其解释为某些除最初发送的字符外的其他字符(导致找不到该行)。

是否有任何理由不能只使用参数化方法(因为它工作正常)?

+0

最后,我必须使用参数化方法来实现查询,我只是想知道是否有快速修复。谢谢! – vividos 2008-10-20 13:51:32