Nous avons une application qui se connecte à DB2 sous z/OS et, après un certain temps, il semble y avoir une limite de ressources sur le côté mainframe. Depuis que nous utilisons BIRT, il semble que le seul contrôle que nous avons sur le code JDBC est avec des strophes dans l'URL elle-même. Nous n'avons pas de contrôle Java direct sur la connexion ou les instructions (sauf pour le SQL lui-même bien sûr), bien que cela puisse être possible en utilisant Javascript dans la conception du rapport. Ainsi, nous pouvons activer le débogage avec quelque chose comme:Frapper une limite sous z/OS avec le pilote DB2 Connect JDBC t4
jdbc:db2://machine.com:1234/INSTANCE:traceFile=c:/db2.txt;traceLevel=-1;
Finalement, l'application à l'aide JDBC simplement arrêter et aucune donnée ne sera écrite dans le fichier journal. Faire un TSO NETSTAT
sur le mainframe montre environ 50 sessions dans l'état ESTABLISHED
.
Maintenant, nous savons que c'est un problème du côté de l'ordinateur central depuis, quand il arrive, aucune connexion JDBC à cette instance fonctionnera (de tout client). À ce stade, nous devons redémarrer la base de données pour continuer.
J'ai parcouru pas mal de choses, dont certaines semblent indiquer que vous devrez peut-être commettre requêtes avant de fermer une session. Il se peut que les sessions soient maintenues ouvertes parce qu'il y a quelque chose qui ne va pas dans le code de fermeture de BIRT (au moins en termes de ce que DB2 attend).
Est-ce que quelqu'un a déjà vécu quelque chose comme ça? Comment l'avez-vous résolu (le cas échéant)? Existe-t-il un moyen de le résoudre en utilisant uniquement les strophes d'URL JDBC ou le code Javascript dans la conception du rapport? FWIW, nous utilisons DB2 9.1 et BIRT 2.2.1.
De quel forum parlez-vous? –
Il s'agissait d'une combinaison entre le forum IBM developerWorks pour DB2/z (le niveau supérieur de developerWorks est un * must * pour quiconque utilise ou s'intéresse aux produits IBM: http://www.ibm.com/developerworks/) et les gens utiles aux laboratoires IBM à West Perth. – paxdiablo