Bonjour,
J'aimerai savoir si il est possible de connecter une Web parts codee en c# a un serveur as400, plus precisemment une dataqueue.
J'ai fait quelques recherche sur le net et j'ai rien trouve de bien concluant....
Merci,
Nico
Bonjour,
J'aimerai savoir si il est possible de connecter une Web parts codee en c# a un serveur as400, plus precisemment une dataqueue.
J'ai fait quelques recherche sur le net et j'ai rien trouve de bien concluant....
Merci,
Nico
En gros, tu veux savoir s'il est possible de développer un composant en C# qui se connecterait à une ressource AS400, c'est bien ça?
Alors, je ne connais l'AS400 que de nom mais j'imagine que le protocole TCP/IP y est implémenté? Si oui, via les sockets, tu peux tout à fait dialoguer avec ce type de système.
Sinon, y a toujours la solution d'un web service mais est-ce que ce genre de système existe sur un AS400, j'en sais rien
Oui c'est exactement ca que je veux.
Le truc c'est que j'ai a ma disposition la reference de l'as400 que je peux implementer dans mon code c#.
Jusque la, pas de soucis, ce code provient d'un code vb.net fonctionnant correctement. J'ai donc juste eu besoin de le traduire (aucune erreur de debuggage)
Le truc c'est que lorsque j'implemante ma webpart dans wss3.0 alors j'ai l'erreur mythique du : Sys.Webform.PageRequestManagerServerErrorException : 500....
Alors cette erreur je me mefie parce que je l'ai eu lorsque j'ai code un webpart pour me connecter a une base sql tout simplement parce que wss le parametre database et non initial catalog alors que ce sont exactement les memes....
Enfin bref c'est une autre histoire. Donc je me demandai si il y avait pas une subtilite comme avec les connexions sql...
si ca peut vous aider je vous met le bout de code qui genere la connexion
(la reference a utiliser est cwbx , on le trouve dans com, as400 connexion client je crois)
Voila, bon je pense qu'il doit falloir faire une petite bidouille sur les parametres de connexion mais bon pas moyen de trouver la solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 using cwbx ; //code...... //AS400 Var declaration AS400System as400 = new AS400System(); DataQueue JobLogQueue = new DataQueue(); DataQueueAttributes r = new DataQueueAttributes(); Program PgmName = new Program(); StringConverter strCvtrOut = new StringConverter(); object infoSender; string sMessage = "Empty"; byte[] x; as400.Define("NomServeur"); JobLogQueue.system = as400; JobLogQueue.LibraryName = "NomLibrairie"; JobLogQueue.QueueName = "NomDeLaQueue"; int iJobs = 0; while (sMessage != "") { try { /* // read data from the queue DataQueueEntry dqData = dq.read(); // get the data out of the DataQueueEntry object. byte[] data = dqData.getData();*/ x = (byte[])JobLogQueue.Peek (0, out infoSender); sMessage = strCvtrOut.FromBytes(x); this.JobStatus.Text = sMessage; iJobs += 1; } catch (Exception ex) { if (ex.Message == "CWB4016 - cwbDQ_Read returned error code 6017") { //timed out break; // TODO: might not be correct. Was : Exit While } else { //Interaction.MsgBox(ex.Message); } } }
Si quelqu'un a une idee, elle est la bienvenue
Merci
Bonjour,
Je continue de chercher la solution a mon probleme...
J'essai de voir si deja l'initialisation de ma connexion avec le as400 peut fonctionner...
voici un code d'initialisation as400 en c# tout simple, meme ca , ca ne marche pas....
si j'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 using cwbx; ////////////// //AS400 Var declaration cwbx.AS400System as400 = new cwbx.AS400SystemClass (); cwbx.Program PgmName = new cwbx.Program(); as400.Define("***"); PgmName.system = as400; PgmName.system.UserID = "***"; PgmName.system.Password = "***"; PgmName.LibraryName = "***"; PgmName.ProgramName = "***";
j'ai quand meme cette satane erreur 500.... (decrite dans mon precedent poste).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 using cwbx; ////////////// //AS400 Var declaration cwbx.AS400System as400 = new cwbx.AS400SystemClass ();
Si quelqu'un pouvait tester ces deux lignes de code dans un webpart c# tout simple et me dire si ca marche chez lui, ca serait cool...
Enfin si vous avez une idee, je suis plus au'attentif
Merci
- Est-ce que ce code fonctionne dans une application console ou winform ou web classique?
- As-tu consulté l'event viewer? les logs files de sharepoint?
C'est sûrement une question de sécurité.
ok merci, je vais me pencher sur la question...
En meme temps je fais des recherches si ya pas moyen d'avoir acces aux donnees en consultant directement les bases via ole db.
Je vous tiens au courant des que j'ai une solution...
En tout cas si quelqu'un d'autre a des pistes, hesitez pas....
Nico
Comme promis, je vous donne des petites nouvelles sur l'etat d'avancement....
Bah en fait ca avance pas beaucoup...
Alors j'ai suivi tes conseils et j'ai pousse les droits de sharepoint au max, j'ai meme rajouter dans les safecontrol le interop.cwbx.dll qui est la reference a la librairie pour se connecter a l as400....
Enfin la je vois pas trop ce que je peux faire car je lis souvent des postes sur comment se connecter en asp.net ... alors je me dis que normalement avec une webpart ca devrait le faire (a moins que je me gourre completement...)
Si ca interesse, voila un step by step qui explique comment se connecter a un as400 via asp.
http://www.netsplore.com/PublicPorta...aspx?tabid=246
J'espere que quelqu'un pourra m'aider sur ce probleme qui reste pour moi insondable.....
Bonjour,
Je suis formateur informatique.... Mes stagiaires accèdent à l'AS400 via la dll cwbdq.dll et VB6. J'essai de leur proposer une solution vbnet équivalente.
Mais je ne trouve pas de documentation complète, même en anglais.
Je suis donc très interessé par l'état de vos recherches ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager