Pergunta

Eu estou usando um banco de dados Oracle com um diferente de intercalação a minha língua OS. Eu estou acessando o banco de dados usando o driver ODBC. Quando eu preparar uma declaração (por exemplo, um "SELECT * FROM x where =?"), Que envolve caracteres não-ASCII especiais apoiados pelo agrupamento do DB, eu estou achando a linha de dados com os personagens. Quando eu executar a selecionar diretamente com o argumento na cadeia de SQL, a linha de dados não foi encontrado.

Foi útil?

Solução

palpite Pure da minha parte, mas pode ser porque o computador cliente não está codificando a cadeia de SQL com o argumento escrito em-lo corretamente. Eu acho que se o seu cliente está definido para uma configuração regional diferente do que o agrupamento DB, a matriz de caracteres contendo a instrução select que é enviado para a Oracle iria conter "incorreto" bytes onde os personagens funk originais foram localizados - Oracle iria interpretar estes como alguns caráter diferente daquele que originalmente enviados (fazendo com que a linha para não ser encontrado).

Existe algum motivo você não pode apenas usar a abordagem parametrizada (uma vez que está a funcionar correctamente)? ??

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top