Toon posts:

[Java] - SQL 2000 JDBC driver

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer met behulp van de Microsoft SQL Server 2000 Driver for JDBC een connectie te maken naar mijn database. Dit lukt prima. Ik maak gebruik van CMP (EJB's) en daar krijg ik bij een update vanuit mijn session bean (naar mijn entity bean) de volgende foutmelding:

"FOR UPDATE clause allowed only for DECLARE cursor".

De eerst vraag is: wat gaat er hier mis? De tweede vraag is: Wat dien ik nog extra in te stellen qua properties om dit probleem op te lossen? De SQL handleiding kan mij hierop geen antwoord geven. Eerst dacht ik aan de property 'selectMethod' (cursor/direct) maar dit lost het niet op.

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Deze foutmelding heeft niet zozeer met java te maken, maar meer met SQL.

De foutmelding wil zeggen dat je in je query een FOR UPDATE heb staan, wat je alleen mag gebruiken wanneer je een cursor aanmaakt.

In je vraag zij je dat je met een update bezig was. Nu weet ik niet precies hoe JDBC werkt, maar ik neem aan al die ODBC libraries wel wat op elkaar lijken.

Kan je bijvoorbeeld laten zien hoe je query eruit ziet?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Dit kan een driverbug zijn, tenslotte maakt de driver onder water gewoon T-SQL aan. Ik weet niet welke versie je gebruikt, Microsoft heeft vorige week een nieuwe versie gereleased van de JDBC driver voor SQLServer.

Verwijderd

Topicstarter
Probleem is dat ik werk met Container Managed Persistence: kortom ik hoef geen regel SQL te schrijven om mijn applicatie persistent te maken. Met Bean Managed Persistence (wel zelf SQL code schrijven) heb ik geen problemen, alleen ik wil graag zien of CMP ook kan. Het zou immers het ontwikkelstraject flink kunnen verkorten (mits het werkt...) ;)

Ik gebruik momenteel de laatste release van Microsoft.