...@Entity@Table(name="clientes",schema="master")@NamedQueries({@NamedQuery(name="Clientes.findAll",query="SELECT c FROM Clientes c"),...
O banco de dados é Sybase Anywhere 9… O driver JPA é eclipselink…
o erro que ocorre é:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.1.v20100213-r6600): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: com.sybase.jdbc2.jdbc.SybSQLException: ASA Error -141: Table ‘clientes’ not found Error Code: 2706 Call: SELECT id, nome FROM master.clientes Query: ReadAllQuery(name=“Clientes.findAll” referenceClass=Clientes sql=“SELECT id, nome FROM master.clientes”)
O usuário que está sendo usado para acesso não é o master, mas tem acesso a leitura na tabela.
Tenho certeza absoluta de que a tabela “master.clientes” existe.
url=jdbc:sybase:Tds:187.5.218.39:49152?ServiceName=teste
classe=com.sybase.jdbc2.jdbc.SybDataSource
host=187.5.218.39
porta=49152
servicename=teste
usuario=simples
senha=simples
observem que o comando:
select * from master.clientes
se executado diretamente na base de dados trará os resultados, mas usando o JPA com a anotação dá o erro apresentado…
O driver de conexão está nesse endereço: http://187.5.218.39/jconn2.jar
Se alguém puder ajudar…
Obrigado
DRauber
lucas_carvalho100
Você deu o grant para esse usuário?
douglasrauber
Sim, inclusive a execução conectado com o usuário “simples” diretamente no console do banco de dados funciona perfeitamente.
Obrigado
DRauber
lucas_carvalho100
Posta o seu xml de conexão ai, e tb a classe responsável por conectar…
douglasrauber
sun-resources.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd"><resources><jdbc-connection-poolallow-non-component-callers="false"associate-with-thread="false"connection-creation-retry-attempts="0"connection-creation-retry-interval-in-seconds="10"connection-leak-reclaim="false"connection-leak-timeout-in-seconds="0"connection-validation-method="auto-commit"datasource-classname="com.sybase.jdbc2.jdbc.SybDataSource"fail-all-connections="false"idle-timeout-in-seconds="300"is-connection-validation-required="false"is-isolation-level-guaranteed="true"lazy-connection-association="false"lazy-connection-enlistment="false"match-connections="false"max-connection-usage-count="0"max-pool-size="32"max-wait-time-in-millis="60000"name="sybase2_externoPool"non-transactional-connections="false"pool-resize-quantity="2"res-type="javax.sql.DataSource"statement-timeout-in-seconds="-1"steady-pool-size="8"validate-atmost-once-period-in-seconds="0"wrap-jdbc-objects="false"><propertyname="serverName"value="187.5.218.39"/><propertyname="User"value="simples"/><propertyname="portNumber"value="49152"/><propertyname="Password"value="simples"/><propertyname="URL"value="jdbc:sybase:Tds:187.5.218.39:49152?ServiceName=teste"/><propertyname="driverClass"value="com.sybase.jdbc2.jdbc.SybDataSource"/></jdbc-connection-pool><jdbc-resourceenabled="true"jndi-name="Teste"object-type="user"pool-name="sybase2_externoPool"/></resources>
Tirei a transação… mas continua sem funcionar…
Mas agora fiz um outro teste, criei uma tabela com o usuário “simples”, porém o mesmo erro de tabela não encontrada
Agora sim a coisa ficou feia. Se tiver alguma outra colocação…
lucas_carvalho100
Cara eu to no escritório e aqui, não posso ficar conectando e banco remoto… O pessoal da infra me enforca, assim que chegar em casa vou entrar nesse banco ai e olhar… Deve ser algo no banco… Faz um teste com outro banco se tiver jeito…
douglasrauber
Obrigado Lucas!
douglasrauber
Descobri o que causa o erro!!
No mesmo servidor, tenho vários bancos rodando… e a conexão está ignorando o parametro da url …“Service=BancoDados”… e está conectando no primeiro banco da lista…
Para meus testes, agora deixei um backup do banco rodando em uma outra instância… mas ainda não sei como definir o banco a conectar…
Obrigado
Douglas
gomesrod
Experimente a seguinte URL:
jdbc:sybase:Tds:187.5.218.39:49152/teste
Pelo menos é assim na versão do driver que temos aqui.
douglasrauber
gomesrod:
Experimente a seguinte URL:
jdbc:sybase:Tds:187.5.218.39:49152/teste
Pelo menos é assim na versão do driver que temos aqui.
Usando SQLAnywhere? Qual driver de conexão?
Testei e não funcionou, mas usando o mesmo driver, e conexão jdbc nativa, a url de conexão é aquela que eu apresentei em outros tópicos.