Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 04-12-2013 16:41:14

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Connexion sur poste vierge

Bonjour

je dois déployer une appli écrite en PB 11.5 sur des postes qui ne sont pas des postes de dév

Ils sont censés ne rien avoir au niveau PB et Sybase

j'ai fait des tests sur un poste qui a les clients Sybase 15.0 et 12.5 mais pas PB et cela plante lors du connect using

1- j'utilise la commande CONNECT USING <Transaction>, comment récupérer son code erreur ?
ci dessous le code de connexion (TO_Sybase est mon objet transaction déclarée en variable globale)

Code: pb

Transaction  TO_Sybase
.......................................................
TO_Sybase.DBMS    = lsDBms
TO_Sybase.DBParm    ="Async=1"
TO_Sybase.ServerName  = lsServer
TO_Sybase.Database  = lsDataB
TO_Sybase.LogId    = lsLogin
TO_Sybase.LogPass    = lsPwd
TO_Sybase.AutoCommit  = False

connect using TO_Sybase;



2- quelles sont les DLL de PB et sybase que je dois embarquer dans mon install pour que cela fonctionne ?
Les postes doivent ils être obligatoirement équipés d'un client ou d'un environnement Sybase minimal ?

A noter : suur mon poste où est installé PB 11.5 Sybase 12.5 et 15.0 je lance l'exe sans problème

Merci d'Avance

Dernière modification par remypb (04-12-2013 16:43:54)

Hors ligne

 

#2 04-12-2013 17:00:28

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: Connexion sur poste vierge

Salut,

1- En testant les propriétés de ton objet de transaction telles que sqlcode ou encore sqlerrtext

2- je pense que tu devrais aller lire ce topic

;-)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#3 04-12-2013 17:14:09

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Connexion sur poste vierge

Bonjour,

Sinon, Les fichiers nécessaires au déploiement sont explicités dans la documentation fournie avec PB (dépendant de la configuration de ton application) :

Application Techniques -> Deployment Techniques -> Chapter 37 Deploying Application and Components

Hors ligne

 

#4 05-12-2013 08:47:19

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Connexion sur poste vierge

Salut,
     
      Comme tu le fais remarquer tu as besoin du Client Sybase 15 pour ta base de donnée, plus tu dois ajouter le runtime PB.

      Pour le client Sybase tu dois voir du coté de l'install ASE.

      Pour le runtime PB tu as sur le poste de DEVT l'outil <Powerbuilder runtime Packager> qui te permet de générer un fichier d'install (MSI ) comprenant l'ensemble des DLL nécessaires au bon fonctionnement de ton application.

     Tu choisis la ou les bases, si tu fais du XML etc ...


Cdt
Yanis

Hors ligne

 

#5 10-12-2013 16:09:33

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Connexion sur poste vierge

j'ai généré le fichier MSI que je lance sur un poste sur lequel l'utilisateur n'est pas admin

or durant l'install des dll j'ai un message qui m'indique que le PATH ne peut être modifié et donc j'ai encore un erreur lors du lancement de l'appli sur ce poste

Est ce que tous les postes sur lesquels je dois installer mon appli doivent avoir un client Sybase ?
Est ce qu'il m'est impossible d'installer mon appli sur un poste dont l'utilisateur n'est pas admin ?

si c'est le cas c'est très très problématique

mais je suis certain qu'il y a une solution

sinon je sens que je vais passer sur Windev

Hors ligne

 

#6 10-12-2013 16:50:41

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: Connexion sur poste vierge

Salut,

    Le fichier MSI dont tu parle est il celui généré par le runtime Packager ? 

     Si oui tu peux faire l'install sur un poste de test en étant admin. Ensuite tu n'a plus qu'à créer à partir des fichiers qui ont été déposé dans le répertoire d'installation soit un zip soit ton propre msi ou tu ne fais qu'une copie des fichiers sur les postes utilisateurs.

    Oui sur chaque poste il te faut un client Sybase.

PS : Les erreurs que tu décris ne sont pas du à PB : Windev ne t'empéchera de devoir installé le client Sybase.  Même si tu es en ODBC tu devras installé le driver ODBC pour Sybase


Cdt

Hors ligne

 

#7 10-12-2013 16:57:16

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Connexion sur poste vierge

remypb a écrit:

j'ai généré le fichier MSI que je lance sur un poste sur lequel l'utilisateur n'est pas admin

C'est le début des ennuis.

Pour déployer toute application (non "nomade") en général il faut être admin.
Depuis XP les utilisateurs ne sont plus censés modifier Program Files, et depuis Vista ils n'en ont plus le droit. Or le runtime packager est prévu pour déployer proprement les pré-requis PB dans Program Files\Sysbase\Shared\Powerbuilder...

remypb a écrit:

or durant l'install des dll j'ai un message qui m'indique que le PATH ne peut être modifié et donc j'ai encore un erreur lors du lancement de l'appli sur ce poste

Forcément, sans être admin le path n'a pas pu être configuré correctement, et il est fort probable que même les fichiers du runtime ne sont pas installés (ou pas correctement).

remypb a écrit:

Est ce que tous les postes sur lesquels je dois installer mon appli doivent avoir un client Sybase ?
Est ce qu'il m'est impossible d'installer mon appli sur un poste dont l'utilisateur n'est pas admin ?

Tous les postes qui doivent faire tourner une application écrite en PB ont besoin d'avoir les dll pbvm115, pbshr115, pbsys115, qui constituent la vm PB, tout comme un poste qui doit éxécuter du java doit avoir une jre installée...

remypb a écrit:

si c'est le cas c'est très très problématique

mais je suis certain qu'il y a une solution

Oui, dans le post que t'avait déjà indiqué Rincevent : tu peux copier les dll nécessaires dans le répertoire de l'exe.

remypb a écrit:

sinon je sens que je vais passer sur Windev

Pourquoi ? Windev permet de compiler des applications qui n'ont pas besoin de runtime, ou qui fonctionnent quand le runtime n'est pas installé correctement ?

Dernière modification par seki (10-12-2013 17:15:50)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#8 12-12-2013 13:07:54

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Connexion sur poste vierge

Bonjour

Ci dessous la liste des DLL que j'ai installé dans le répertoire de mon exe
Malgré cela, j'arrive toujours pas à lancer mon appli sur un poste "vierge" (PB non installé)

La question est :
Faut il obligatoirement un client Sybase sur le poste pour faire fonctionner une appli PB ?
Si non quelles DLL Sybase ou PB dois je ajouter ?
Si oui ce client est il en libre diffusion ou est il soumis à une licence ?

Le Message d'erreur (MSG_ERR) que j'ai lors du lancement de l'appli est ci dessous
(je n'arrive pas à downloader le screenshot dans mon message)

Que veut il dire ? j'ai aucun point d'arrêt

dernière question : le numéro de version de sybase est il capital ?
Si je mets 12.0 au lieu de 12.0.3 est ce que cela peut expliquer le bug ou le non fonctionnement ?

Code:

MSG_ERR
---------------------------------------------------------------------
Titre : dwwin.exe

Msg 
------------------------------------------------------------------------------------
L'exception point d'arrêt.
Un point d'arrêt a été atteint.
(0x80000003) s'est produite dans l'application à l'emplacement 0x7c91120e

LISTE DES DLL
--------------------
atl71.dll        PBDWE115.DLL
dbodbc11.dll    PBSHR115.DLL
libcomn.dll        PBSQL115.DLL
libcs.dll        PBSYC115.DLL
libct.dll        PBSYJ115.DLL
libjcc.dll        PBSYS115.DLL
libjutils.dll            PBVM115.DLL 
libsybdb.dll            sybdrvodb.dll
pbdpl115.DLL

Hors ligne

 

#9 12-12-2013 14:46:38

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: Connexion sur poste vierge

remypb a écrit:

dernière question : le numéro de version de sybase est il capital ?
Si je mets 12.0 au lieu de 12.0.3 est ce que cela peut expliquer le bug ou le non fonctionnement ?

Il faut que toutes les dll déployées soient de la même release / du même EBF, et il faut que ce soit la même version que celle de l'IDE qui a généré l'exécutable, sinon ça risque de déconner grave (pour dire simplement), mais ça ne plantera pas forcément avec un crash de l'appli.

Ça peut être beaucoup moins évident comme un fonctionnement bizarre dans les DW, ou des évènements anarchiques, genre des activates qui sont envoyés à une fenêtre après sa fermeture (cas vécus ici sur des postes clients qui n'avaient pas le même ebf de runtime que le poste de dev et sur lesquels on déployait juste un nouvel exe), du coup c'est plus sournois.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#10 12-12-2013 15:20:49

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Connexion sur poste vierge

j'ai progressé

j'ai rajouté la DLL sybcsi_core26.dll et j'ai un autre message d'erreur plus standard

Ce nouveau message est le suivant "Unable to initialize Client Library Context"

Que veut dire ce message ? dois je ajouter une dll ou lancer un client quelconque ou ..... ?

pourtant sur le poste où je teste l'install il y a sybase central et DSEdit

je comprends pas trop .............

Hors ligne

 

#11 16-12-2013 09:28:28

remypb  
Membre Geek
Date d'inscription: 19-04-2013
Messages: 65
Pépites: 262
Banque: 0

Re: Connexion sur poste vierge

A savoir

Le même exécutable fonctionnait sans problème sous windows XP.

Le problème est apparu lorsque le PC sur lequel est compilé l'exécutable a été passé sous Windows 7

Est ce que le changement de windows peut expliquer l'apparition de ce problème ?

Cela voudrait il dire que le souci n'est pas sur la connexion sybase mais sur la compil PB ?

Merci d'avance pour votre aide

Dernière modification par remypb (16-12-2013 10:29:17)

Hors ligne

 

#12 16-12-2013 10:34:46

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Connexion sur poste vierge

J'imagine qu'il faut installer le client Sybase.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22