JdbcRowSet

2 respostas
R

Alguem sabe como corrigir este erro abaixo, pois eu estou tentando rodar uma aplicação utilizando o JdbcRowSet para comunicação com banco de dados.

Erros: JdbcRowSet (setTypeMap): null

JdbcRowSet (setMaxFieldSize): [Microsoft][Driver ODBC para Microsoft Access]Recurso opcional não implementado

JdbcRowSet (setQueryTimeout): [Microsoft][Driver ODBC para Microsoft Access]Recurso opcional não implementado

Código utilizado:

package tabelasimples;

// Fig. 25.32: JdbcRowSetTest.java
// Exibindo o conteúdo da tabela authors com JdbcRowSet.
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Map;

import javax.sql.rowset.JdbcRowSet;
import com.sun.rowset.JdbcRowSetImpl;// Implementação JdbcRowSet da Sun

public class JdbcRowSetTest {
	// nome do driver JDBC e URL do banco de dados
	static final String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";

	static final String DATABASE_URL = "jdbc:odbc:Musicas";

	// construtor conecta-se ao banco de dados, consulta banco de dados,
	// processa
	// resultados e os exibe na janela
	public JdbcRowSetTest() {
		// conecta-se ao banco de dados books e o consulta
		try {
			Class.forName(JDBC_DRIVER); // carrega classe de driver do banco de
			// dados

			// especifica propriedades de JdbcRowSet
			JdbcRowSet rowSet = new JdbcRowSetImpl();
			rowSet.setUrl(DATABASE_URL); // configura a URL de banco de dados

			rowSet.setCommand("SELECT * FROM Usuarios"); // configura a
			// consulta
			rowSet.setMaxFieldSize(100);
			rowSet.setQueryTimeout(5);
			rowSet.execute(); // executa a consulta

			// processa resultados da consulta
			ResultSetMetaData metaData = rowSet.getMetaData();
			int numberOfColumns = metaData.getColumnCount();

			System.out.println("Authors Table of Books Database:");

			// exibe o cabeçalho rowset
			for (int i = 1; i <= numberOfColumns; i++)
				System.out.printf("%-8s\t", metaData.getColumnName(i));
			System.out.println();

			// exibe cada linha
			while (rowSet.next()) {
				for (int i = 1; i <= numberOfColumns; i++)
					System.out.printf("%-8s\t", rowSet.getObject(i));
				System.out.println();
			} // fim do while
		} // fim do try
		catch (SQLException sqlException) {
			sqlException.printStackTrace();
			System.exit(1);
		} // fim do catch
		catch (ClassNotFoundException classNotFound) {
			classNotFound.printStackTrace();
			System.exit(1);
		} // fim do catch
	} // fim do construtor DisplayAuthors

	// carrega o aplicativo
	public static void main(String args[]) {
		JdbcRowSetTest window = new JdbcRowSetTest();
	} // fim de main

[color=red]Moderador: Utilize a tag code para preservar a formatação de seu código.[/color]

2 Respostas

1112

O driver ODBC do Access não implementa os métodos setMaxFieldSize e setQueryTimeout . Use outro banco ou não use estes métodos.

R

Beleza! Muito Obrigado!

Criado 5 de abril de 2006
Ultima resposta 5 de abr. de 2006
Respostas 2
Participantes 2