exportation access postgres

Eléphant du PHP | 406 Messages

06 juil. 2005, 14:29

salut,


J essai d exporter des donnée d une base access vers une base postgresql à l aide de requete d ajout mais j ai ce message d erreur.
Et je vois pas trop ce que c est car dans mes deux table les colonne date sont de types DATE .
You tried tu assign the NULL value to a variable that is not a Variant date type
Merci

Mammouth du PHP | 19672 Messages

07 juil. 2005, 00:50

Le problème ne semble pas être une histoire de type de champ mais de champ NULL et NOT NULL probablement dans le champ date coté PGSql, vérifie si tu aurais des valeurs NULL coté Access auquell cas, fais un ALTER TABLE dans ta base PostGreSQL pour mettre le champ correspondant à NULL par défaut
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

07 juil. 2005, 08:28

tu me parle des proprietes NULL et NOT NULL c est à dire quand t oblige le champs à contenir une valeur.
Sous access pour le champs date, la proprieté null interdit est egal à non et sous postgresql pour le champs date la proprieté NOT NULL n est pas cocher

c est ben sa ?

Eléphant du PHP | 91 Messages

07 juil. 2005, 10:53

tu me parle des proprietes NULL et NOT NULL c est à dire quand t oblige le champs à contenir une valeur.
C'est bien ça
Sous access pour le champs date, la proprieté null interdit est egal à non
heu .... "null interdit" donc NOT NULL. ensuite "est égale à faux". Donc ton champs n'est pas NOT NULL. Il a donc la propriété NULL. La colonne accepte la valeur 'null'. (pas évident de lire une double négation)
sous postgresql pour le champs date la proprieté NOT NULL n est pas cocher
Donc c'est aussi NULL. La colonne accepte la valeur 'null'.

Donc normalement, ça devrait fonctionner !!!

Pour t'aider
1/ As tu l'ordre SQL de création de tes tables sous ACCESS et POSTGRES (create table ....)
2/ Ton message d'erreur "You tried tu assign the NULL value to a variable that is not a Variant date type" est renvoyé par qui et comment ?
Comment réalises tu le transfert de données entre ACCESS et POSTGRES ? un script PHP ? export / import via un fichier texte ?

Eléphant du PHP | 406 Messages

07 juil. 2005, 14:05

en faite le message d erreur c est cela
You tried tu assign the NULL value to a variable that is not a Variant data type
donc sa peut etre n importe qu elle champs. Et pas forcement le champs date.

c est le code de ma table dans postgres
numcommande integer NOT NULL nextval('public.commandes_numcommande_seq'::text)
bon_commande character varying(20)
date date
numfournisseur integer NOT NULL

et c est le code de la table sous access
N° commande Null interdit : non
Date Null interdit : non
N° fournisseur Null interdit : non
j ia pas le code sql car je n ai les est pas creer sous access

et pour l exportation
en faite j utilise un pilote ODBC qui me permet d etablir une liaison avec mes table sous postgres et donc apres je peux voir mes table postgres dans access et je n ai plus qu a faire des requete d ajout pour les remplir.[/quote]

Eléphant du PHP | 91 Messages

07 juil. 2005, 15:04

mouaiffff ....

c'est pas gagner :
1/ le message d'erreur retourner doit provenir de la base de données POSTGRES mais il est interprété par ACCESS. Si c'était un message POSTRES qui était affiché, tu aurais un numéro d'erreur ODBC.
2/ il n'est pas impossible que ce message proviennent de ACCESS lui-même ... va savoir.

Ne connaissant ni ACCESS ni POSTGRES suffisamment je ne peux pas vraiment résoudre ton problème.

Ce que j'essayerai de faire pour migrer des données.

1/ Créer les tables dans POSTGRES en script SQL. (bref à la pogne)
2/ Exporter le contenues de tes tables de ACCESS dans des fichiers texte aux format CVS (séparateur de champs la virgule) Donc rechercher comment faire, mais j'ai espoir car CVS est un classique pour exporter des données.
3/ Importer les données via un utilitaire de POSTGRES. Donc rechercher cette utilitaire, mais j'ai espoir car CVS est un classique le pour importer des données.

C'est plus long que ton outil ACCESS certes, mais j'ai utiliser cette méthode de nombreuse fois avec succès.

Désolé de pas t'aider plus.

Tu peux aussi aller voir sur des forums sur ACCESS peut être.

Eléphant du PHP | 406 Messages

07 juil. 2005, 16:27

j ai deja reussi a exporter des table comme cela et la c est juste pour celle ci que sa bogue

Mammouth du PHP | 19672 Messages

07 juil. 2005, 19:07

Il y a peut-être un autre champ dont le type est incompatible et le message d'erreur serait erroné..? :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

11 juil. 2005, 14:20

sa peu venir du type et pas seulement du not null ?
Il y aurau une autre solution pour pouvoir exporter mes données dans postgresql ?

Eléphant du PHP | 63 Messages

12 juil. 2005, 08:55

salut

c'est facile, utilise CVSMDB qui est dispo sur www.odbcphp.fr.st

il y a une option qui te permet de l'exporter en Postgress

a+

Eléphant du PHP | 406 Messages

12 juil. 2005, 09:39

merci
d avoir repondu
Je suis aller dans le site dans CVS access-->download
et il ne propose que cela
CVS Access => mSQL

Eléphant du PHP | 406 Messages

12 juil. 2005, 10:16

en faite c est bon j ai trouver
le truc c est que dans ma table,il y avait un champs qui etait clé etrangere et qui ne pouvait pas etre null et dans la table access ce champs est clé etrangere mais chose bizarre il comportait des valeur null,donc je les est remplacer et sa fonctionne

J ai une autre erreur maintenant quand j essai d inserer dans une autre table
ODBC --insert on a linked table'public_objet' failed.
ERROR: insert or update on table "objet" v (#7)
???