Vous n'êtes pas identifié(e).

#1 Re : Autres langages » PGconn pour MapBasic » 23/05/2012 09:36:21

Merci pour votre diligence. J'vais donc voir quelles possibilités je peux avoir avec bytea.

#2 Autres langages » PGconn pour MapBasic » 18/05/2012 17:55:29

HenriEssomba
Réponses : 2

Bonjour à tous,

je travaille sur une personnalisation du SIG (Système d'Information Géographique) MapInfo à partir de MapBasic qui utilise un langage procédural. Ne pouvant pas être facilement configurable sous une architecture client-serveur le choix a été fait de centraliser les donner géographiques à traiter à partir du SGBD PostgreSQL. Seulement dans la gestion des Large Objects j'ai rencontré un problème dès qu'il s'agit d'appliquer le script d'importation et d'exportation chez le client.

La commande d'importation de PostgreSQL par exemple est soumise à la syntaxe suivante: lo_import(PGconn *conn, const char *filename);

Mais le langage utilisé pour MapBasic ne possède pas un type équivalent pour "PGconn" et je n'arrive donc pas à faire exécuter le code MapBasic suivant:

include "mapbasic.def"
include "menu.def"
include "icons.def"

Sub Main

Dim chemin, filename, namecon, path, prompt, filetype As String
Dim num, hstmt As Integer


	path = "C:\TestDirectory\"
	filename = "tableFile"
	filetype = "TAB"
	prompt = "Enregistrer table"
	
	chemin = FileSaveAsDlg(path, filename, filetype, prompt)


'Connexion à la base de données
	num = Server_Connect("ODBC","DSN=con_PostgreSQL1;UID=postgres;PWD=toto")

'Nom de la variable ODBC pour la connexion à la base de données
        namecon = "con_PostgreSQL1";

'Requête d'insertion des données dans la table TABLEUSER avec importation du fichier pour le champ FILETAB
        texterequete= "INSERT INTO public.tableuser (name,filetab) values ('"+filename+"',lo_import('"+namecon+"','"+chemin+"'));"


        hstmt = Server_Execute(num, texterequete)

End Sub 'Main

Le champ "filetab" de la table "tableuser" et de type "oid" mais j'n'ai trouvé aucun moyen d'obtenir pour la fonction "lo_import" un paramètre équivalent à une variable PGconn. Je n'ai pas trouvé de forum MapBasic et sur le forum SIG on me conseille de voir s'il n'y a pas un autre moyen d'importer un Large Object chez un client sur PostgreSQL.

Toute forme d'aide sera d'un grand secours, merci

Pied de page des forums

Propulsé par FluxBB