|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
[WM15] Acces Natif SQL Server pour Windev Mobile |
Started by Olivier C, Jan., 21 2010 2:47 PM - 8 replies |
| |
| | | |
|
| |
Posted on January, 21 2010 - 2:47 PM |
Bonjour,
Contexte: J'aimerai depuis une application Windev Mobile sur un PDA (Windows CE) faire des requêtes directement sur mon serveur SQL Server (2008). J'ai donc créé une connexion au serveur avec l'accès natif "Accès Natif SQL Server pour Windev Mobile" En mode test pas de problème, la connexion fonctionne.
Problème à l'execution sur le PDA : Lors de l'ouverture de cette connexion, le programme me renvoie l'erreur :
"Impossible de charger la dll WP150SQLServer.dll"
Cette dll est introuvable, il existe la dll WD150SQLServer.dll de l'accès natif mais en la renommant cela ne fonctionne pas.
Une idée?
Mon but est d'attaquer directement le serveur SQL depuis le PDA.
Merci !! |
| |
| |
| | | |
|
| | |
| |
Posted on January, 21 2010 - 3:11 PM |
Bonjour,
J'ai donc créé une connexion au serveur avec l'accès natif "Accès Natif SQL Server pour Windev Mobile" En mode test pas de problème, la connexion fonctionne.
normal car vous utilisez dans le mode test les elements et dll de votre windows donc la pas de probleme
Problème à l'execution sur le PDA : Lors de l'ouverture de cette connexion, le programme me renvoie l'erreur : "Impossible de charger la dll WP150SQLServer.dll"
normal aussi puisque la dll n'est pas prévu pour fnctionner sous windows mobile actuellement pour attaquer une base SQLserver depuis un mobile il faut passer soit par un webservice soit un tunnel soit pas une base embarquée qui sera repliquée. les dll de windows ne fonctionne pas sous windows mobile
> Une idée? un webservice, un tunnel ou tout autre il existe et pour l'avoir mis en palce depuis 4 ans je passe par un tunnel php (la base et attaquer par un script php sur un serveur et le mobile lui ne fait que demander au serveur ce qu'il veut (requete SQL) le serveur execute la requete recupere le resultat et renvoie au mobile le contenu de la requete sous forme page html donc recuperable par httprequete
Mon but est d'attaquer directement le serveur SQL depuis le PDA.
oui pas de probleme si le mobile est sur wifi ou GPRS on arrive meme a faire lire des base oracle SQLserver, MySQL, postGreSQL a des telephone ou smartphone equipé en windows mobile
> Merci !! faites une recherche sur windev , tunnel php sur goole ou webservice vous devriez avoir des reponse corresponfdant a ce que vous voulez faire sinon contacter moi directement : frederic@emidev.fr
cordialement |
| |
| |
| | | |
|
| | |
| |
Posted on January, 21 2010 - 4:45 PM |
merci pour la réponse !
Je vais certainement utiliser des sockets alors.
en revanche, si cela n'est pas possible pourquoi dans windev il y a t-il la possibilité de créer des connexions avec "Accès Natif SQL Server pour Windev Mobile" (qui se paramètre de la meme façon que l'accès natif sur windev classique).
(Pour un SQLServer lite embarqué je suppose que c'est "Accès Natif SQL Server Mobile pour Windev Mobile")
merci encore, |
| |
| |
| | | |
|
| | |
| |
Posted on January, 21 2010 - 5:25 PM |
Bonjour
oui je pense pour en revenir a l'acces par HTTP je prefere cela car pour des raison evidente de securite il est tres faile de passé par https pour avoir une securite maximale sans rien changer
pour les socket cela va demander de developper un serveur specifique (qui recoit la demande l'execute et renvoie le resultat de la requete.
la technologie des tunnel existe depuis 10 a 15 ans : l'avantage est d'avoir quelque chose de standard qui evolue en meme temps que le reste puisqu'il s'appuie sur des standard comme http. de plus pour entré dans des reseaux particulier le port 80 et 443 sont generalement ouvert car pour http et https
bref c'etait juste pour le fun voici par exemple l'acces http directe sur les base SQLserver, Oracle, MySQL, PostGreSQL, Firebird, depuis un mobile : http://www.sqlmanagerx.com/websqlx/html/modules/icontent/index.php… je l'utilise depuis le debut et il a ete mis en place dans des grands groupes pour faire des inventaires avec des appareils mobiles depuis 5 ans sur des bases oracle mySQL et SQMserver sans faire de dechargement de l'appareil ou de replication (le mobile lit et met a jour la base de données réelle)
cordialement Frederic EMPRIN
"Olivier C" <o.chotard@chateau-margaux.com> a écrit dans le message de news:6511623aa153409b85e1152500d3eccb@news.pcsoft...
merci pour la réponse !
Je vais certainement utiliser des sockets alors.
en revanche, si cela n'est pas possible pourquoi dans windev il y a t-il la possibilité de créer des connexions avec "Accès Natif SQL Server pour Windev Mobile" (qui se paramètre de la meme façon que l'accès natif sur windev classique).
(Pour un SQLServer lite embarqué je suppose que c'est "Accès Natif SQL Server Mobile pour Windev Mobile")
merci encore,
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 13 2010 - 6:44 PM |
Bonjour,
Merci pour votre riche participation à cet aspect.
A la lecture de nombreux de vos posts et réponses, je conclu que l'accès à SQL Server avec un mobile sous Windev Mobile 15 en liaison Wifi ne pouvait être réalisé qu'avec un "add-on".
Ais-je bien compris ?
Si c'est bien le cas (passons sur l'aspect des accès natifs....) l'usage d'une classe comme PHP pour Windev est "la" solution.
Que me conseillerez vous pour accèder a une base d'un Sql Server sous Windows Server 2008 R2 ?
D'avance merci,
Jean |
| |
| |
| | | |
|
| | |
| |
Posted on September, 13 2010 - 7:37 PM |
Bonjour,
"Jean" <allmailforme@gmail.com> a écrit dans le message de news:5d9513023f20d2e22ab5162e1d2134dd@news.pcsoft...
Bonjour,
Merci pour votre riche participation à cet aspect.
A la lecture de nombreux de vos posts et réponses, je conclu que l'accès à SQL Server avec un mobile sous Windev Mobile 15 en liaison Wifi ne pouvait être réalisé qu'avec un "add-on".
non ce n'est pas un add on puisque on utilise simplement un acces par tunnel mais le tunnel lui est lié a la base. sur le mobile il n'y a rien mis a part une classe. (pas de dll, pas de script pas de données)
ce qui permet de se passer des dll (qui pour l'instant se font rares) et pour eviter un autre probleme. les mobile ne sont pas encore tres suffisant en memoire et parfois suivant le modele on ne peut pas tout charger (le frameWork etant important moins on charge de dll par la suite mieux c'est.
Ais-je bien compris ?
Si c'est bien le cas (passons sur l'aspect des accès natifs....) l'usage d'une classe comme PHP pour Windev est "la" solution.
LA solution je ne sais pas mais depuis windev mobile 11 je connecte des mobile telephone ou autre sur des bases oracle , mySQL, SQLServer etc .... sans aucun souci. et d'une version a l'autre sans aucun probleme que se soit windows CE , Windows mobile ou de windev mobile (une simple compilation pour le changemement de windev
Que me conseillerez vous pour accèder a une base d'un Sql Server sous Windows Server 2008 R2 ?
tout depend de l'architecture en place et comment vous voulez y acceder si vous devez faire de l'embarque pur avec chargement et dechargement de la base le mieux (et je le pratique aussi tous les jours) est de passé par une base HF embarquee
mais si vous avez le wifi ou GPRS de possible la solution tunnel est bien partique en plus le code est compatible entre windev et windev mobile. mes procedure utilisant php4wd que ce soit sur windev ou windev mobile le code change pas et ca c'est agreable pour les modif on modifie le prog windev et le mobile utilisant la collection de procedure en beneficie aussi
D'avance merci,
Jean
cordialement
Firetox |
| |
| |
| | | |
|
| | |
| |
Posted on September, 13 2010 - 11:36 PM |
non ce n'est pas un add on puisque on utilise simplement un acces par tunnel mais le tunnel lui est lié a la base. sur le mobile il n'y a rien mis a part une classe. (pas de dll, pas de script pas de données) => je vous dire "Add-On" dans le sens que ce n'est finalement pas natif avec WDM...
LA solution je ne sais pas mais depuis windev mobile 11 je connecte des mobile telephone ou autre sur des bases oracle , mySQL, SQLServer etc .... sans aucun souci. et d'une version a l'autre sans aucun probleme que se soit windows CE , Windows mobile ou de windev mobile (une simple compilation pour le changemement de windev Que me conseillerez vous pour accèder a une base d'un Sql Server sous Windows Server 2008 R2 ?
tout depend de l'architecture en place et comment vous voulez y acceder => connecté en Wifi au réseau local
mais si vous avez le wifi ou GPRS de possible la solution tunnel est bien partique en plus le code est compatible entre windev et windev mobile. mes procedure utilisant php4wd que ce soit sur windev ou windev mobile le code change pas et ca c'est agreable pour les modif on modifie le prog windev et le mobile utilisant la collection de procedure en beneficie aussi
Serait-il possible d'avoir un "exemple" concret afin de bien comprendre le codage coté Mobile ?
merci pour toutes ces informations,
Jean |
| |
| |
| | | |
|
| | |
| |
Posted on September, 14 2010 - 8:40 AM |
bonjour,
Serait-il possible d'avoir un "exemple" concret afin de bien comprendre le codage coté Mobile ? merci pour toutes ces informations,
en fait on utilise le meme mecanisme que windev avec les fonction SQLexec on a un mySQLconnect pour se connecter des mySQLExec pour executer des requetes des fonction pour mettre le resultat dans une table (mySQLtable ....) , pour lire les colonne (mySQLLitCol, ....) , les enregistrements (mySQLsuivant, mySQLPrecedent ....)
par exemple : connexion :
LOCAL v_retCode is boolean
monAccess:TypeBase = "MYSQL" monAccess:CleCryptage = "AABBCCDDEEFFGGHH" // the same in connect.php
v_retCode = monAccess:mySQLConnecte("http://127.0.0.1/php4wd.php","","","FREDERIC")
IF (v_retCode = True) THEN estConnecte = True Groupe1..Etat = Actif Connection..Etat = Grisé ELSE Erreur("Impossible de se connecter à la base de donnée .", "Erreur n° " + monAccess:mySQLErreur, monAccess:mySQLGetErrorMessage()) END
Affichage d'une requete dans une table de la fenetre LOCAL retCode is un entier
TableSupprimeTout(TABLE1) chrono:Debut() retCode = monAccess:mySQLExec("SELECT work_list, lnotes FROM work_list LIMIT 1000 ", 0) IF (retCode =1) THEN monAccess:mySQLTable(0, "TABLE1") ELSE Info(monAccess:mySQLErreur+ "/ "+monAccess:mySQLGetErrorMessage()) END monAccess:mySQLFerme(0)
remplissage de la table en lecture par colonne du resultat LOCAL retCode is entier custom_ID is string custom_Name is string custom_date is string
TABLE1..Visible = Faux TableSupprimeTout("TABLE1") retCode = monAccess:mySQLExec("SELECT work_list, lnotes FROM work_list LIMIT 1000 ; SELECT work_list FROM work_list LIMIT 1000 ", 0) IF (retCode=1) THEN monAccess:mySQLPremier(0) WHILE (NOT monAccess:mySQLEnDehors) custom_ID = monAccess:mySQLCol(0,1) custom_Name = monAccess:mySQLCol(0,2) //custom_date = monAccess:mySQLCol(0, 3) TableAjoute("TABLE1", custom_ID + TAB + custom_Name + TAB + custom_date) monAccess:mySQLSuivant(0) END ELSE Erreur("Erreur n° " + monAccess:mySQLErreur, monAccess:mySQLGetErrorMessage()) END monAccess:mySQLFerme(0)
voila tout est dans le projet exemple du projet en download
Jean
|
| |
| |
| | | |
|
| | |
| |
Posted on September, 15 2010 - 3:56 PM |
Merci, Mais coté serveur, il faut donc un serveur web d'activé avec PHP, que me conseillez vous pour les tests sur un PC XP et pour le déploiement sur un serveur 2008R2
> tout est dans le projet exemple du projet en download => je n'ai pas compris ??? "projet exemple en download"
Merci pour tout, le début d'une solution commence à émerger....
Jean |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|