Se connecter au serveur IBM i à partir de Sql Server 2008 R2
J'ai un gros problème: j'ai pour vous connecter (je veux juste lire des données, de ne pas écrire) à mon client IBM as/400 (aka iSeries, maintenant IBM i) serveur...
Je pense avoir tous les paramètres nécessaires (qui m'est donné par l'as/400 programmeur), mais je ne peux pas savoir quel pilote je dois utiliser, et si j'ai tous les logiciels nécessaires à de ce!
J'ai installé IBM as/400 ClientAccess 5.8 pilote (avec un patch pour la dernière version de l'OS), et maintenant je suis en train de configurer un nouveau Linked Server
dans mon Sql Server 2008 R2 (x64) serveur.
Premier problème: quel pilote dois-je utiliser?
J'ai donc beaucoup de choix (mais peut-être aucun de ces travaux!!):
IBM DB2 UDB for iSeries IBMDASQL OLE DB Provider
IBM DB2 UDB for iSeries IBMDA400 OLE DB Provider
IBM DB2 UDB for iSeries IBMDARLA OLE DB Provider
...ou peut-être d'autres génériques OLEDB/ODBC
pilotes?!
Deuxième problème: Où dois-je mettre mes paramètres (dans les champs que je veux dire!)
En tout cas, j'choisir un fournisseur pour mon Linked Server
évidemment, je dois mettre mes paramètres...mais je n'ai que ceci:
- Nom d'utilisateur d'un utilisateur ADMIN
- Mot de passe de l'utilisateur ADMIN
- As/400 l'adresse IP du serveur
- Le nom de "main" de l'archive, dans lequel mes données sont stockées (quelque chose comme
ACG_DATV2
)
Troisième problème: Comment dois-je écrire mes requêtes? Comment faire référence à un as/400 "archive" et des tables?
Je ne sais pas comment construire ma lecture de la requête: où sont les tables et les vues (?!) stockées et comment peut-on référence?
Vous en remercie d'avance!
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Je pense qu'il y a de nombreuses façons d'atteindre ce que vous voulez, mais je vais essayer d'expliquer ce que je voudrais faire dans votre cas.
Avec cette version de IBM ClientAccess (et aussi le patch), je ne devrais pas avoir de problèmes dans la connexion avec un Serveur Sql server 2008 R2 Serveur Lié si vous utilisez le fournisseur de données.
Tout d'abord, essayez de configurer votre serveur lié de cette manière:
MYAS400
)IBM DB2 UDB for iSeries IBMDASQL OLE DB Provider
iSeries Access OLEDB Driver
192.168.0.1
)Soit si vous configurez le Serveur Lié à l'aide de l'assistant ou en code SQL, la première fois qu'il aura besoin d'accéder aux données de l'as/400 server, vous serez invité à fournir des informations d'identification, avec un typique iSeries fenêtre (voir mon exemple).
Définir votre nom d'Utilisateur (user ID) et la relative mot de passe, sans considérer le cas des cordes!!
Comme une pointe générale (mais ce n'est liée à mon expérience!), essayez d'éviter les caractères spéciaux et majuscules/minuscules cas distinctions...
Si vous arrivez ici (pas de problèmes dans la création de Serveur), le Serveur Lié devrait fonctionner (donc le premier et le deuxième problème sont résolu): nous allons construire la première requête!
Une fois le Serveur Lié est créé, tous vous avez besoin est juste pour référencer correctement les archives, la bibliothèque et, bien sûr, la bonne table et le Serveur Lié (par nom): avec ces informations, de construire une requête comme ceci (c'est l'habitude T-SQL syntaxe):
La seule information que vous avez probablement manque, c'est la "archive": vous pouvez le trouver facilement parcourir les Catalogues de l'arbre à l'intérieur de votre nouveau Serveur Lié, ou tout simplement utiliser
iSeries Access Navigator
outil de!Donc, dans votre cas, je pense que la requête doit être (plus ou moins):
Noter que
S242DA0A
est valable que dans mon cas...Rappelez-vous aussi que:
SELECT (Fields) INTO myTable FROM (AS/400 table)
BONNE CHANCE!