[PGSQL] invoegen datum error melding.

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
Ik heb in PostgreSQL een kolom CreatieDatum.

Nu komt er uit een andere database (Cache via ODBC koppeling) een bepaalde datum. Als ik deze datum 1 op 1 in PGSQL wil stoppen krijg ik de volgende melding:

Warning: pg_query(): Query failed: ERROR: column "creatie" is of type date but expression is of type integer.

Hoe kan ik zorgen dat de data die ik uit de bron database haal omgezet wordt naar het juiste type om hem in PGSQL te kunnen stoppen??

Acties:
  • 0 Henk 'm!

  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 08-07 13:03

Tukk

De α-man met het ẞ-brein

De melding zegt dat je een datum veld probeert te vullen met een Integer.

Vaak worden datums opgeslagen als integer (aantal seconden sinds een bepaalde datum).
Kijk naar de source, wat voor formaat dat heeft en converteer dit in je insert statment naar een datum formaat.

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
De source levert mij: 11-4-2007.
Wordt dit nog steeds als integer gezien dan?

Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 12:17

Kettrick

Rantmeister!

Anoniem: 78074 schreef op woensdag 11 april 2007 @ 13:16:
De source levert mij: 11-4-2007.
Wordt dit nog steeds als integer gezien dan?
In het raarste geval is het -2000, maar dan gaat er iets niet goed in je koppeling lijkt me :)
de enige geldige integer waarde zou een timestamp kunnen zijn.

Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
RoeLz schreef op woensdag 11 april 2007 @ 13:19:
[...]


In het raarste geval is het -2000, maar dan gaat er iets niet goed in je koppeling lijkt me :)
de enige geldige integer waarde zou een timestamp kunnen zijn.
Roelz,
In PHP geeft hij hem gewoon weer als 11-4-2007 dus ALS die het dan gaat berekenen zou dat in de UPDATE quer moeten gebeuren maar dat lijkt me sterk.

Hoe kan ik van die integer een geldige timestamp kunnen maken dan?

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

post de update query eens ?

Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
query is:

SQL:
1
2
3
UPDATE eva_klanten 
        SET aanhef=$record->Aanhef', voorletters='$record->Beginletters', tussenvoegsel='$record->Tussenvoegsels', achternaam='$record->Achternaam', geslacht='$record->Geslacht', soortrelatie='', email='$record->EmailAdres', tel1='$record->Telefoon1', tel2='$record->Telefoon2', tel3='$record->Telefoon3', klantnummer=$record->Nummer, creatie=$record->Creatie, datumlaatstewijziging=$record->DatumLaatsteWijziging
        WHERE klantnummer=$pg_record->eva_klanten_id


Hierbij zijn de kolommen: creatie en datumlaatstewijziging DATE velden.

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

creatie='$record->Creatie' ? (iig in mssql)

BTW: aanhef=$record->Aanhef', ==> aanhef='$record->Aanhef',

[ Voor 44% gewijzigd door TheRookie op 11-04-2007 13:41 ]


Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
Als ik creatie='$record->Creatie' invul dan loopt de update wel maar komt er in de DB NULL te staan...

Maar ben iig die fout kwijt dus ga nu ff opzoek waarom die niks in de DB zet.

IIG bedankt tot zo ver :-)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DTE >> PRG

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

kan nog zijn dat pgsql de datum in yyyy-mm-dd formaat verwacht :)

Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
TheRookie schreef op woensdag 11 april 2007 @ 13:48:
kan nog zijn dat pgsql de datum in yyyy-mm-dd formaat verwacht :)
Hoe kan ik terug vinden wat voor DATE formaat mijn PGSQL server verwacht?

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Je zou natuurlijk zelf de moeite kunnen nemen om de PostgreSQL manual of google te bekijken ;)

Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
TheRookie schreef op woensdag 11 april 2007 @ 14:07:
Je zou natuurlijk zelf de moeite kunnen nemen om de postgresql manual of google te bekijken ;)
Als ik dat nog niet had gedaan had ik ook de vraag hier niet gesteld.
Ik heb nl testen uitgevoerd in verschillende formaten direct in de DB te update maar zonder succes.

Zelfs als ik het ISO-8601 formaat gebruik lukt het niet.

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Anoniem: 78074 schreef op woensdag 11 april 2007 @ 14:10:
[...]


Als ik dat nog niet had gedaan had ik ook de vraag hier niet gesteld.
Ik heb nl testen uitgevoerd in verschillende formaten direct in de DB te update maar zonder succes.

Zelfs als ik het ISO-8601 formaat gebruik lukt het niet.
Uit niets in 't topic blijkt dat je dit al geprobeerd had.
Volgens de manual zou YYYY-MM-DD en ook YYYYMMDD gewoon moeten werken ? (zie tabel 5-10 voor v7.3 of 8-10 voor v8.0

Acties:
  • 0 Henk 'm!

  • Motrax
  • Registratie: Februari 2004
  • Niet online

Motrax

Profileert

Je geeft aan dat php dd-mm-yyyy als output geeft. Maar je bent met 2 databases bezig. Kan het zijn dat php zelf het datum veld converteert? Kan je in de bron database kijken naar de source data en naar het data type? Het lijkt er namelijk op omdat je een NULL ingevuld krijgt in je target database dat de vergelijking niet goed wordt gemaakt met 2 correcte datum types.

[ Voor 26% gewijzigd door Motrax op 11-04-2007 14:27 ]

☻/
/▌
/ \ Analyseert | Modelleert | Valideert | Solliciteert | Generaliseert | Procrastineert | Epibreert |


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 08:21

Creepy

Tactical Espionage Splatterer

Anoniem: 78074 schreef op woensdag 11 april 2007 @ 14:10:
[...]


Als ik dat nog niet had gedaan had ik ook de vraag hier niet gesteld.
Ik heb nl testen uitgevoerd in verschillende formaten direct in de DB te update maar zonder succes.

Zelfs als ik het ISO-8601 formaat gebruik lukt het niet.
Als je dan ook aangeeft welke formaten je hebt geprobeerd en de eventuele melding die je erbij krijgt dan kunnen we je beter helpen en voorkom je tips over zaken die je al hebt geprobeerd.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Anoniem: 78074

Topicstarter
Bedankt voor jullie hulp.

De query werkt nu zoals die zou moeten. Het laatste probleem dat PGSQL bepaalde date type niet accepteerde lag niet aan PGSQL maar aa een foutje in de query.

IIG bedankt voor de hulp.

Acties:
  • 0 Henk 'm!

  • Motrax
  • Registratie: Februari 2004
  • Niet online

Motrax

Profileert

En wat was dan het foutje in de query...?

☻/
/▌
/ \ Analyseert | Modelleert | Valideert | Solliciteert | Generaliseert | Procrastineert | Epibreert |

Pagina: 1