2009-02-10 17 views
0

J'essaye de me relier à une instance de biztalk sur le réseau, et ne pas être tout ce succès. Le serveur SQL avec les bases de données biztalk sur celui-ci a désactivé les canaux nommés. Lorsque j'essaie de me connecter au serveur sur lequel biztalk est installé, cela provoque une erreur de canaux nommés. Lorsque j'essaie de me connecter au serveur de base de données, cela expire et donne une erreur qui couvre pratiquement tous les scénarios sous le soleil (il ne peut pas se connecter et ne sait pas pourquoi)BizTalk: Dans la boîte de dialogue de connexion à distance, existe-t-il un moyen de forcer le transport TCP/IP plutôt que des canaux nommés?

Si j'essaie de me connecter avec SQL Server Management Studio cela fonctionne. Si j'essaye de faire un DSN, cela fonctionne. Si j'essaie de passer par biztalk, il meurt. Si j'essaie de passer par biztalk avec le préfixe tcp:, il meurt. Si je force les pipes nommées sur les deux autres, il meurt.

Est-il possible d'utiliser le protocole TCP/IP comme moyen de transport dans la boîte de dialogue Connexion au groupe existant?

Répondre

1

Pour forcer tcp, essayez "tcp: servername" (ou "tcp: nom_serveur \ nom_instance, port") Cela peut se faire sans définir un alias ou d'un protocole par défaut avec des outils SQL

Il existe des alternatives pour lesquelles vous pouvez obtenir l'erreur si:

  • l'erreur de canaux nommés peut être trompeur, il signifie généralement que « ne peut pas trouver le serveur »
  • pare-feu etc bloquent l'accès soit à l'instance SQL
  • .. ou écouteur SQL port 1434 thats énumère instance/ports
+0

Alors voici l'affaire. Si j'essaie de me connecter avec SQL Server Management Studio, cela fonctionne. Si j'essaye de faire un DSN, cela fonctionne. Si j'essaie de passer par biztalk, il meurt. Si j'essaie de passer par biztalk avec le préfixe tcp:, il meurt. Si je force quelque chose à travers des tuyaux nommés, il meurt. –

+0

Le serveur Biztalk n'est pas le serveur de base de données? Serveur Biztalk OS – gbn

+0

Pouvez-vous à distance sur la boîte biztalk et voir si ce serveur peut se connecter à l'aide des outils SQL/DSN? – gbn

1

Avez-vous des messages d'erreur dans le journal du système ou de l'application?

vous devez vérifier quelques-unes des formes - ports, etc comme il peut y avoir

http://www.biztalkserverguide.com/2008/02/04/biztalk-server-throwing-named-pipes-error-40-could-not-open-a-connection-to-sql-server/

a déclaré une variable appelée btsConnString (string), ce varable n'a pas été réglé sur la chaîne de connexion, il était vide (par erreur), les choses fonctionnaient comme prévu sans problème. Sur la scène Comme le btsConnString n'a pas été attribué une chaîne de connexion, il vomissait l'erreur

Also look at MSDTC issues for connection DTC test est ici http://support.microsoft.com/kb/293799 et si vous pouvez installer sur les deux serveurs utilisent DTCPing

aussi regarder ces The majority of Microsoft SQL Server issues that affect Microsoft BizTalk Server 2006 fall into one of the following categories:

+0

Je peux me connecter avec succès sur d'autres machines, et il n'y a rien dans les logs du serveur. Ce btsConnString semblait prometteur, mais je n'ai aucune idée de l'endroit où cette variable est censée être définie. –

1

Je crois que j'avais quelque chose de similaire assez récemment - BizTalk essayait de se connecter à la boîte SQL en utilisant des tubes nommés pour une raison obscure, qui expirerait. Nous avons utilisé le registre (HKLM \ SOFTWARE \ Microsoft \ MSSQLServer \ Client \ SuperSocketNetLib) pour le forcer à essayer TCP en premier (et dernier, et nous n'avons spécifié aucun autre protocole) et il a semblé faire l'affaire.

Voir les détails here

+0

J'ai eu beaucoup d'espoir pour celui-ci, pas de dés si :(bonne clé à connaître de toute façon –

+0

honte.Vous avez redémarré après la mise en place, n'est-ce pas? ;-) –

+0

bien sûr. même comportement –

1

Je sais que c'est un fil très ancien, mais pour référence avec le même problème. J'ai fini par créer un alias à l'instance dans SQL Server Configuration Manager. Votre alias ressemblerait à ceci: Alias = Aliasname Value = Server\Instance. Ensuite, mettez Aliasname comme source de données dans votre chaîne de connexion.Il me semble que BizTalk ne comprend pas la barre oblique inverse (\) dans la chaîne de connexion. Il doit avoir un seul mot.