2008-12-09 21 views
1

Utilisation de JDBC (avec pilote jt400/connexion, système de nommage =) Je suis d'exécuter ces instructions SQL:bibliothèque/fichier AS400 (membre) JDBC requête

"CREATE ALIAS QTEMP/SOURCETEMP FOR " + library + "/" + file + " (" + member + ")" 
"SELECT SRCDTA FROM QTEMP/SOURCETEMP" 
"DROP ALIAS QTEMP/SOURCETEMP" 

Cela fonctionne. Cependant, lorsque le membre String a un. en cela, cela confond tout.

Y a-t-il un moyen de gérer cela?

Merci.

Répondre

4

Vous pouvez échapper à tout ce en changeant par exemple:.

member = "foo.bar" 

à

member = "\"FOO.BAR\"" 

-à-dire des lettres majuscules entourés de guillemets doubles.

0

Quelque part dans here, il y a des détails sur la façon dont la bibliothèque (les membres) sont gérés. Le problème que vous voyez être le nom de membre de base est de huit caractères et quelque chose après un '.' est interprété comme un type (un peu comme .html, .jpg .exe etc) Cependant, vous ne pouvez stocker qu'un type de données dans un objet de bibliothèque. Donc, si votre premier membre était premier.stuff que tous les autres membres doivent avoir ".stuff" comme suffixe si fourni.

Le 400-EZE officiel est membre:

membre

ensembles de données différentes, chacune avec le même format, dans un fichier de base de données.

Vous pourriez probablement partir avec la suppression de tout après la première période de votre nom de membre.

Désolé, ce n'est pas trop clair, mais lorsque l'iSeries a été conçu, ils ont ignoré tous les systèmes d'exploitation conçus jusqu'à ce jour et ont recommencé à zéro. Les résultats prennent un peu d'habitude aussi.