2009-08-20 5 views
0

J'ai créé un serveur lié dans SQL Server 2005 à une base de données Oracle. Lorsque j'exécute une requête, la requête n'arrête jamais d'être exécutée et ne renvoie jamais de résultats. Lorsque j'annule la requête, elle ne termine jamais l'annulation. Je dois fermer la fenêtre pour l'arrêter.La requête vers le serveur lié ne s'arrête jamais

J'ai mis les choses comme suit:

  • Outils installés client Oracle sur SQL Server
  • Ran requête suivante:

    EXEC sp_addlinkedserver
    @server = 'MyNewLinkedServer',
    @srvproduct = 'Oracle',
    @provider = 'OraOLEDB.Oracle',
    @datasrc = 'TNSNAMES_Entry'

  • J'ai ensuite ajouté le TNSNAMES.ORA fichier au répertoire ORAHOME1\network\admin\.

  • Dans Propriétés pour mon serveur lié, j'ai changé les paramètres de sécurité à Be made using this security context: pour toutes les connexions utilisant mon nom d'utilisateur/mot de passe Oracle
  • J'ai couru la requête suivante:

    SELECT * FROM OPENQUERY(MyNewLinkedServer, 'SELECT COUNT(*) FROM MySchema.MyTable');

Le La requête ne termine jamais l'exécution. Quelqu'un a des idées? Toutes les étapes me manquent?

MISE À JOUR:
Je suis arrivé le jour suivant et j'ai réessayé la requête et cela a très bien fonctionné. Je suspecte des problèmes de réseau de quelque sorte.

Répondre

1

Examinez le serveur Oracle en interrogeant la session v $. Voyez si vous pouvez voir la connexion à distance, et ce que fait la session Oracle. Vous pouvez même faire une trace du côté d'Oracle (déclenché par un déclencheur de connexion) pour enregistrer tout ce qui se passe (par exemple, analyser une requête, renvoyer des erreurs, etc.).

+0

Je vais accepter votre réponse même si la requête commence à fonctionner toute seule. Merci d'avoir commenté. –

Questions connexes