Isaias
Outubro 22, 2002, 2:41pm
#1
Olá Pessoal,
Estou passando pelo seguinte problema:
Se eu utilizo um select UNION com um PreparedStatement da seguinte maneira funciona.
pstmt = conn.prepareStatement(SelectComUnion);
mas se eu utilizo com SCROLLABLE ResultSet dá erro.
pstmt = conn.prepareStatement(SelectComUnion, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_READ_ONLY);
Alguém já teve este problema e sabe como resolver, ou sabe se é algum bug do JDBC, ou do Driver. Estou utilizando Jdbc-Odbc bridge com banco Access.
[]'s
por favor, passe a stack trace pra gente!
e as vezes pode ser que o seu driver jdbc nao suporta, que driver voce ta usando?
O Paulo tem razão já tive problema semelhante devido ao driver ODBC, mande a mensagem de erro para termos certeza.
Isaias
Outubro 31, 2002, 9:52am
#4
Olá Pessoal,
Acabou que não tive tempo de postar a mensagem de erro aqui vai:
java.sql.SQLException : [Microsoft][Driver ODBC para Microsoft Access] O número de colunas nas duas tabelas ou consultas selecionadas de uma associacao nao coincidem.
[]'s
Oi Isaias, a resposta e bem facil e obvia como o driver informa o numero de colunas das duas querys que vc esta tentando unir tem que ser iguais ( padrao ansi ??? ) caso contrario a uniao nao acontece.
Lembrando que o erro ta no sql, e nao no Java.
Rafael
Isaias
Novembro 6, 2002, 8:17am
#7
Olá Pessoal,
Não concordo muito com isto pelo seguinte, se é erro de SQL porque que quando se usa o PreparedStatement sem a opção de SCROLLABLE ResultSet funciona?
Ou seja
pstmt = conn.prepareStatement(SelectComUnion); // Assim funciona
pstmt = conn.prepareStatement(SelectComUnion, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_READ_ONLY); // Assim não
Se for erro de SQL não era para a excessao ser lançada no primeiro caso também?
[]'s
Isaías
Bom, se voce consegue executar o sql “no braco”, entao realmente tem algum outro probz… estranho…
Rafael
Isaias
Novembro 6, 2002, 10:19am
#9
Olá Rafael,
Eu creio que é problema do Driver mesmo, testei em outro banco e funcionou.
[]'s