[MS Access]fouten bij gebruik met postgreSQL

Pagina: 1
Acties:
  • 168 views sinds 30-01-2008
  • Reageer

  • rambo-2001
  • Registratie: November 2000
  • Laatst online: 02-01-2024

rambo-2001

be anonymous

Topicstarter
Omdat mijn access database te groot wordt ben ik begonnen deze over te zetten naar postgreSQL.
Ik heb vervolgens mijn access applicatie gekoppeld aan de postgreSQL database doormiddel van de PSQLODBC
Hierdoor krijg ik in mijn access applicatie allemaal gelinkte tabellen naar de postgreSQL database.
Wanneer ik de tabellen gewoon open krijg ik de gegevens correct uit de database, maar wanneer ik mijn access applicatie gebruik dan krijg ik bij bepaalde formulieren foutmeldingen.
Ik heb hiervoor debug mode aangezet op postgreSQL en op de ODBC hier komt naar voren dat access sommige query's niet afmaakt.

Ook krijg ik naast de foutmeldingen "ODBC CALL failed" foutmeldingen

Hieronder 2 foutmeldingen uit de log van postgreSQL

code:
1
2
3
4
5
6
7
8
9
2005-11-23 16:38:46 [26946] LOG:  00000: statement: SELECT "tijd_pk" ,"datum" ,"taak_fk" ,"medewerker_fk" ,"werkzaamheden" ,"tijd"  FROM "public"."uren" WHERE ("medewerker_fk" =  1
LOCATION:  pg_parse_query, postgres.c:464
2005-11-23 16:38:46 [26946] ERROR:  42601: syntax error at end of input at character 129
LOCATION:  yyerror, scan.l:565

2005-11-23 16:38:46 [26946] LOG:  00000: statement: SELECT "public"."klanten"."klantid","public"."projecten"."projecten_pk","public"."businessproducten"."bp_pk","public"."managementproducten"."mp_pk","public"."taken"."taak_pk" FROM "public"."taken","public"."managementproducten","public"."businessproducten","public"."projecten","public"."klanten" WHERE (((((((("public"."taken"."taak_verantwoordelijke_fk" =  1
LOCATION:  pg_parse_query, postgres.c:464
2005-11-23 16:38:46 [26946] ERROR:  42601: syntax error at end of input at character 361
LOCATION:  yyerror, scan.l:565


debian woody (2.4.27-2-386) hier werkt postgreSQL op
postgreSQL ODBC 8.01.01.01 (postgreSQL unicode)
access 2000
postgreSQL 7.4.7

Naast postgreSQL heb ik geprobeerd access in combinatie van microsoft SQL echter krijg ik dan dezelfde foutmeldingen.
Heeft iemand een idee hoe ik het probleem kan oplossen ?

cs skill - making a desert eagle out of tooth picks


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:00
Tja, bekijk je queries eens, en ga eens na waar de syntax-error zich bevind. (De foutmeldingen die je krijgt moet je ook lezen he).
Ik zie bv een haakje die niet afgesloten wordt, ik zie quotes rond veldnamen, mag dat in postgres ? In SQL Server gebruik je bv blokhaken om iets te escapen, geen quotes.
In de 2de query zie ik een hele hoop haakjes die er waarschijnlijk niet toe doen, en die ook niet afgesloten worden.

https://fgheysels.github.io/


  • rambo-2001
  • Registratie: November 2000
  • Laatst online: 02-01-2024

rambo-2001

be anonymous

Topicstarter
Ik heb in de code gekeken of daar een dergelijke query wordt gebruikt maar dat is niet het geval. Ook in de properties worden deze query's niet gebruikt. Echter vermoed ik dat het in de properties van de masterfield en childfield zit.

Dat de query's die worden uitgevoerd een aantal haakjes missen ligt mogelijk aan het feit dat query's worden verstuurd naar de ODBC terwijl nog niet alle gegevens zijn ingevoerd door access.
In onderstaande query is gelijk na de WHERE een vergelijking waar een vraagteken wordt vergeleken met een veldnaam in het tabel taken

log ODBC
code:
1
2
3
4
projecten_pasca 58c-21c EXIT  SQLExecDirectW  with return code 0 (SQL_SUCCESS)
        HSTMT               09D11BC0
        WCHAR *             0x0D825748 [      -3] "SELECT "public"."klanten"."klantid","public"."projecten"."projecten_pk","public"."businessproducten"."bp_pk","public"."managementproducten"."mp_pk","public"."taken"."taak_pk" FROM "public"."taken","public"."managementproducten","public"."businessproducten","public"."projecten","public"."klanten" WHERE (((((((("public"."taken"."taak_verantwoordelijke_fk" =  ? ) AND NOT(("public"."taken"."taak_status" = 'gefactureerd' ) ) ) AND ("public"."taken"."taak_begindatum" > {d '2004-01-01'} ) ) AND ( ? = "public"."taken"."taak_verantwoordelijke_fk" ) ) AND ("public"."managementproducten"."mp_pk" = "public"."taken"."mp_fk" ) ) AND ("public"."businessproducten"."bp_pk" = "public"."managementproducten"."bp_fk" ) ) AND ("public"."projecten"."projecten_pk" = "public"."businessproducten"."projecten_fk" ) ) AND ("public"."klanten"."klantid" = "public"."projecten"."klant_fk" ) ) ORDER BY "public"."taken"."taak_begindatum"  \ 0"
        SDWORD                    -3

[ Voor 28% gewijzigd door rambo-2001 op 24-11-2005 14:20 ]

cs skill - making a desert eagle out of tooth picks