getTableName() não funciona com Oracle !?

9 respostas
C

Olá pessoal ! Estou numa luta para criar XML apartir do bd, já descobri o problema do “utf” e agora estou testando algumas coisas pra tentar criar uma classe que receba uma SQL e gere XML.
Aqui estamos usando o ORACLE. Para automatizar as coisas, eu preciso pegar o nome da tabela pra colocar no xml(pois eles vivem mudando os esquemas das tabelas), tentei usar um método da classe ResultSetMetaData:

rsmd.getTableName(1)

Mas ele num retorna nada, fuxicando na net achei isso (abaixo) mas não entendi direito…

http://edocs.bea.com/wls/docs92/jdbc_drivers/oracle.html#wp1075290

Desde já,
Grato.

9 Respostas

P

o lance eh esse:

quer dizer q nessa classe ResultSetMetaDataOptions vc tem q setar a propriedade como 1, pro getTableName funcionar direito…eu nao conheço essa classe e não sei os métodos dela, mas da uma fuçada aih…

outra coisa, pelo codigo q vc postou vc esta criando uma instancia do ResultSetMetaData, os metodos q vc vai usar para pegar as infos do banco, aparentemente são estaticos, então chama direto…

espero ter ajudado…

flw

C

Olá Pedro, grato pela ajuda
Estou tentando usar a ResultSetMetaDataOptions mais ele (Eclipse) não encontra para importar…
o getTableName() não é estático, eu testei.

Achei isto num site japônes:\

String url = "jdbc:oracle:thin:@192.168.0.21:1521:DBLAB1;ResultSetMetaDataOptions=1"; 
Connection con =  DriverManager.getConnection(url, user, password);

Vou testar…

Deu este erro:

Ocorreu um erroIo exception: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=168821248)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

Celso.

P

pelo q eu vi, o problema eh a versão do seu driver…

pega o atualizado: http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

flw

C

Ocorreu um erroListener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
bp01.on.br:1521:bampetro;ResultSetMetaDataOptions=1

P

aih eh q ta…

ele ta passando tudo isso como SID: bampetro;ResultSetMetaDataOptions=1

a url de conexão ta igualzinha a q vc achou usando essa opção a mais? claro q alterando para o seu host, sua porta e seu SID??? ponto e virgula apas, tudo certinho???

vc testou com as duas versões do driver pro 10g???

da uma conferida e ve se o erro persiste…

C

sim eu baxei o driver novo (release 2)… assim funfa:

jdbc:oracle:thin:@bp01.on.br:1521:bampetro

assim não:

jdbc:oracle:thin:@bp01.on.br:1521:bampetro;ResultSetMetaDataOptions=1

e o getTableName deve depender disto…

P

eu pesquisei e isso realmente isso nao funciona…

eu achei isso no FAQ do site da Oracle
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq_0.htm

porem vc tem q usar OCI e nao THIN, da uma olhada nesse FAQ q ensina como fazer…

java.util.Properties info = new java.util.Properties(); info.put ("server", "bp01.on.br:1521"); info.put ("database", "bampetro"); info.put ("user", "scott"); info.put ("password","tiger"); info.put ("ResultSetMetaDataOptions","1"); Connection con = DriverManager.getConnection ("jdbc:oracle:oci:@",info);

flw

vamos ver se peloe menos o erro muda neh

C

O erro agora é esse:

Ocorreu um erroNo suitable driver
P

vc instalou o OCI???
http://www.oracle.com/technology/tech/oci/index.html

Criado 20 de dezembro de 2006
Ultima resposta 21 de dez. de 2006
Respostas 9
Participantes 2