Acesso a banco de dados Progress

12 respostas
P

Olá pessoal,
Tenho uma aplicação que em flex que faz acesso aos bancos Progress atraves do java.
Entretanto não consigo acessar tabelas cujo nome contenham ífem como “saldo-estoq”.
Utilizo o driver jdbc e consigo acessar qualquer tabela desde que não contenha ífem no nome.

A sintaxe que estou usando na query é:

String qryCnstaSaldo = "select * from PUB.saldo-estoq";

O jdbc não consegue encontrar tabelas que contenham ífem em seu nome?
Se alguem tiver alguma alternativa, eu agradeço pela ajuda…

ATT.

12 Respostas

nandolup

Cara batendo o olho eu tentaria algo assim:

String qryCnstaSaldo = "select * from PUB.saldo/-estoq";

Pode ser regexp…

espero ter ajudado.

P

Nandolup,
Infelizmente não funcionou, poderia explicar a função da barra que vc incluiu no código?
o erro é o seguinte:
Erro: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Table/View/Synonym não encontrado

Obrigado!!!

L

Paulo,

Tenta substituir o hifen por underscore “_”. Um colega meu teve esse problema e parece que essa foi a solução que ele encontrou.

P

Ifpolli,
Tentei substituir o ífem pelo underscore, mas não encontrou a tabela.
Acho que eu teria que renomear a tabela, mas não posso nem pensar nisso, pois trata-se da base de dados do nosso ERP.
Obrigado pela força…

ATT.

L

Paulo,
Vou tentar ver com meu colega se ele encontrou uma solução para isso. Assim que ele me responder posto aqui. Vc tá trabalhando com Datasul né, tenta ver com o pessoal de tecnologia de Joinville, tenho a impressão de que eles já passaram por esse problema e devem ter a resposta.

L

Paulo, segundo meu colega, quando vc tem nomes com hifem deve colocá-los entre aspas, por exemplo:
cod-cliente -> “cod-cliente”
saldo-estoq -> “saldo-estoq”

Assim deve funcionar.

P
lfpolli, Não entendo como posso montar a string neste caso... Já tentei de várias formas, sempre da o erro de Invalid Character Constant: Já tentes das seguintes formas:
String qryCnstaSaldo = "select * from PUB."saldo-estoq""; 

String qryCnstaSaldo = 'select * from PUB."saldo-estoq"';

Todas dão o erro de Invalid Character Constant....
Tem mais algo que devo fazer...?
Abraço...

L

O correto seria assim:

String qryCnstaSaldo = "select * from 'PUB.saldo-estoq'";
N

:?:]Olá pessoal eu sou novo no forum e em java tbm tenho um site e quero ienserir um cadastro de clientes e gostaria de saber como fazer isso com java e qual programa utilizar para esse fim, tenho o eclipse 3.4 como IDE .
se alguem puder me ajudar agradeço.

P

Mêêê kra…
Incluí o código conforme vc instruiu, mas gerou o seguinte erro:
Erro: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Syntax error in SQL statement at or about " ‘PUB.saldo-estoq’" (10713).
Continuo tentando!!

Obrigado pela força…

P

Agradeço a todos pela ajuda,
Consegui resolver o problema…
Somente reconheceu a tabela quando usei a sintaxe a baixo:

String qryCnstaSaldo = "select * from pub.\"saldo-estoq\"";

Abraço a todos…

ATT.

P

Olá Paulo,

Seguinte tbém trabalho com Progress, desenvolvo em Progress porém estou querendo estudar desenvolvimento em Java acessando o Progress, porém não estou conseguindo encontrar material q me ajude a fazer a conexão com o banco, vôce poderia me explicar ou se tiver algum material, e qual melhor framework Eclipse, Netbeans, inlusive estou desenvolvendo em Flex porém estou fazendo acesso ao bco Progress via HTTPService porém fica bem lento dependendo o que for fazer por isso estou querendo estudar o Java !
Se puder me ajudar agradeço.

Criado 11 de setembro de 2008
Ultima resposta 19 de set. de 2008
Respostas 12
Participantes 5