1

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

4

1 回答 1

1

纯粹是我的猜测,但这可能是因为您的客户端计算机没有使用正确写入的参数对 sql 字符串进行编码。我认为,如果您的客户端设置为与 DB 排序规则不同的区域设置,则包含发送到 Oracle 的选择语句的字符数组将包含原始时髦字符所在的“不正确”字节 - Oracle 会将这些解释为一些不是您最初发送的字符(导致找不到该行)。

有什么理由不能只使用参数化方法(因为它工作正常)?

于 2008-10-20T13:11:12.843 回答