OVH Cloud OVH Cloud

Comment attaquer une base 4D

1 réponse
Avatar
prady92
Bonjour,

1°) je ne sais comment faire pour attaquer une base 4D via ODBC (j'ai déjà
installer le driver odbc), si quelqu'un pouvait me donner un morceau de code
du style :

Imports System.Data.OleDb
Shared Base As String = "provider=ODBC Driver for 4D Server;data source="
la ligne précédente est fausse mais je ne trouve pas la solution

Shared Connexion As OleDbConnection = New OleDbConnection(Base)
Shared CommandeSQL As New OleDbCommand()
Shared RequeteSQL As String
Try
CommandeSQL.Connection = Connexion
CommandeSQL.CommandType = CommandType.Text
CommandeSQL.CommandText =
"4DACTION/xls_calc_listingabs/site=13&plateau=130356&date1=07/08/2006&date2=07/08/2006&agence=0&salarie=0&version=10&pop=NINT&col=04,05,06,07,08,10,11,13,18,&sel=abs"
Connexion.Open()
CommandeSQL.ExecuteNonQuery()
Catch g As SystemException
MsgBox(g.Message)
Finally
CommandeSQL.Dispose()
Connexion.Close()
End Try
Connexion.Close()
mais je ne vois pas comment récupérer les données reçues où si je passe bien
par les bonnes commandes, faut-il un datareader ou procéder autrement ou
utiliser d'autres imports ?

2°) autre manière possible de faire est avec un SOAP puisque 4D est un
serveur web qui publie en effet dans IE si je tape :
http://xx.xx.xx.xx:30000/4DACTION/xls_calc_listingabs/site=13&plateau=130356&date1=07/08/2006&date2=07/08/2006&agence=0&salarie=0&version=10&pop=NINT&col=04,05,06,07,08,10,11,13,18,&sel=abs
xx.xx.xx.xx étant l'adresse IP, il me retourne bien le tableau de résultat
demandé.

Mais moi je voudrais faire directement la même chose et récupérer dans vb
par du code les datas retournées par 4D et je pense que le SOAP est tout
indiqué.
Le développeur 4D m'a dit qu'il utilise (dans 4D) une méthode et que c'est
celle-ci que je dois invoquer dans VB et en récupérer les datas retournées
mais comment faire ?

J'espère que j'ai été assez clair et si quelqu'un pouvait me donner un
exemple de chacune des manières j'en serais très heureux.
Bien sûr j'ai déjà cherché dans d'autres forums et même chez 4D, mais je
n'ai rien trouvé, les utilisateurs de 4D seraient-ils fâchés avec Microsoft ?
d'avance merci beaucoup et je publierai le code pour d'autres qui auront à
interroger 4D.

Je travaille en vb dotnet 2003

Prady92

1 réponse

Avatar
prady92
Petit oubli : pour les 2 possibilités la cible est un WindowsForm et non un
WebForm et encore merci
prady92

"prady92" a écrit :

Bonjour,

1°) je ne sais comment faire pour attaquer une base 4D via ODBC (j'ai déjà
installer le driver odbc), si quelqu'un pouvait me donner un morceau de code
du style :

Imports System.Data.OleDb
Shared Base As String = "provider=ODBC Driver for 4D Server;data source="
la ligne précédente est fausse mais je ne trouve pas la solution

Shared Connexion As OleDbConnection = New OleDbConnection(Base)
Shared CommandeSQL As New OleDbCommand()
Shared RequeteSQL As String
Try
CommandeSQL.Connection = Connexion
CommandeSQL.CommandType = CommandType.Text
CommandeSQL.CommandText =
"4DACTION/xls_calc_listingabs/site&plateau0356&date1/08/2006&date2/08/2006&agence=0&salarie=0&version&pop=NINT&col,05,06,07,08,10,11,13,18,&sel«s"
Connexion.Open()
CommandeSQL.ExecuteNonQuery()
Catch g As SystemException
MsgBox(g.Message)
Finally
CommandeSQL.Dispose()
Connexion.Close()
End Try
Connexion.Close()
mais je ne vois pas comment récupérer les données reçues où si je passe bien
par les bonnes commandes, faut-il un datareader ou procéder autrement ou
utiliser d'autres imports ?

2°) autre manière possible de faire est avec un SOAP puisque 4D est un
serveur web qui publie en effet dans IE si je tape :
http://xx.xx.xx.xx:30000/4DACTION/xls_calc_listingabs/site&plateau0356&date1/08/2006&date2/08/2006&agence=0&salarie=0&version&pop=NINT&col,05,06,07,08,10,11,13,18,&sel«s
xx.xx.xx.xx étant l'adresse IP, il me retourne bien le tableau de résultat
demandé.

Mais moi je voudrais faire directement la même chose et récupérer dans vb
par du code les datas retournées par 4D et je pense que le SOAP est tout
indiqué.
Le développeur 4D m'a dit qu'il utilise (dans 4D) une méthode et que c'est
celle-ci que je dois invoquer dans VB et en récupérer les datas retournées
mais comment faire ?

J'espère que j'ai été assez clair et si quelqu'un pouvait me donner un
exemple de chacune des manières j'en serais très heureux.
Bien sûr j'ai déjà cherché dans d'autres forums et même chez 4D, mais je
n'ai rien trouvé, les utilisateurs de 4D seraient-ils fâchés avec Microsoft ?
d'avance merci beaucoup et je publierai le code pour d'autres qui auront à
interroger 4D.

Je travaille en vb dotnet 2003

Prady92