Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#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
Pages : 1