8
votes

Freetds - Impossible de se connecter: Adaptive Server n'est pas disponible ou n'existe pas

Centos 6.5 x86_64 WHM 11.42.1 UNIXODBC 2.2.14

Freetds v0.91 H2>

J'essaie de vous connecter à SLSQL Server distant sans succès - également essayé de connecter avec différentes versions TDS (4.2, 7,0, 7.1, 8,0) mais tous donner Le même résultat. p>

Utilisation du même nom de serveur, port, nom d'utilisateur et mot de passe, je suis capable de vous connecter via mon bureau à l'aide de Studio de gestion WIN7 et SQL Server. P>

Telnet échoue également. P>

Détails Suivre. S'il vous plaît laissez-moi savoir si vous en avez besoin de plus. Toute aide / conseil apprécié. P>

======== p>

TSQL -C H1>
Trying x.x.x.x... 
telnet: connect to address x.x.x.x: 
Connection timed out


5 commentaires

Est-ce que quelqu'un sait quel "serveur adaptatif n'est pas disponible ou n'existe pas" signifie?


Comme je me connecte via SQL Server Management Studio, les informations d'identification du serveur distant doivent être correctes ... et les États OSQL "La configuration semble ok" sur le serveur local. Le seul indice est dans Freetds.log qui indique "TDS_OPEN_Socket () échoué". Est-ce que quelqu'un sait ce qui peut causer cela?


Il suffit de trouver ceci: "Impossible d'ouvrir la prise" est TDSeconn produit par src / tds / net.c :: tds_open_socket (). C'est le résultat d'une défaillance de la prise INET_ADDR (3) ou (plus probable) (3). Bien que ce soit vrai, vous ne pouvez pas vous connecter, plus précisément, vous êtes empêché localement de tenter de vous connecter. Pour vous connecter, vous avez besoin d'une ressource locale - une prise - et vous ne pouvez en créer un. Je m'attends à ce que le journal affiche «Erreur de création de socket» et le message d'erreur du système d'exploitation. Je ne serais pas surpris si EACCE est le problème. (Auquel cas Telnet (1) échouera également.) list.ibiblio.org /pipermarth/freetds/2009Q3/025094.html


Résolu après le port requis sur le serveur local a été ouvert entrant et sortant


Bonjour, nous avons la même erreur. Pouvez-vous me dire comment vous avez spécifiquement résolu ceci? J'ai passé près de 2 jours de cette erreur. Merci


4 Réponses :


0
votes

J'ai vu cette erreur lors de l'utilisation de PYMSSQL pour la première fois. Je devais activer TCP / IP comme l'un des protocoles réseau de mon installation locale de SQL Server.


0 commentaires

5
votes

J'ai eu le même problème et j'ai résolu-le en utilisant un port personnalisé: Port = xxxxx dans freeds.conf Ce port doit être configuré dans la configuration SQL Server MGNT

Configuration du réseau SQL Server -> TCP / IP (activé) -> Adresses IP -> Ipall -> Ports dynamiques TCP

https://msdn.microsoft.com/en-us/library/ MS177440.aspx


1 commentaires

J'ai aussi dû ajouter une version TDS = 8,0 ligne à mon freeds.conf



0
votes

Une résolution similaire pour moi sur un cygwin 64 Installez INTERFACING FREEDDS vers une base de données SQL Server 2008 sur une machine locale. Devait activer le protocole TCP / IP pour le service MSSQLServer et redémarrer le service à résoudre.

Freetds.log Activation de la trace m'a conduit à la solution (exemple de journal suit): P>

11:16:13.960012 10688 (log.c:167):Starting log file for FreeTDS 0.95.69
    on 2015-11-26 11:16:13 with debug flags 0xffff.<br>
11:16:13.960012 10688 (iconv.c:328):tds_iconv_open(0x60004b500, UTF-8)<br>
11:16:13.960012 10688 (iconv.c:187):local name for ISO-8859-1 is ISO-8859-1<br>
11:16:13.960012 10688 (iconv.c:187):local name for UTF-8 is UTF-8<br>
11:16:13.960012 10688 (iconv.c:187):local name for UCS-2LE is UCS-2LE<br>
11:16:13.960012 10688 (iconv.c:187):local name for UCS-2BE is UCS-2BE<br>
11:16:13.960012 10688 (iconv.c:346):setting up conversions for client charset "UTF-8"<br>
11:16:13.960012 10688 (iconv.c:348):preparing iconv for "UTF-8" <-> "UCS-2LE" conversion<br>
11:16:13.960012 10688 (iconv.c:395):preparing iconv for "ISO-8859-1" <-> "UCS-2LE" conversion<br>
11:16:13.960012 10688 (iconv.c:400):tds_iconv_open: done<br>
11:16:13.960012 10688 (net.c:202):Connecting to ?.?.?.? port 1433 (TDS version 7.3)<br><br>
11:16:13.963012 10688 (net.c:274):tds_open_socket: connect(2) returned "Operation now in progress"<br>
11:16:14.963069 10688 (net.c:309):getsockopt(2) reported: Connection refused<br>
11:16:14.963069 10688 (net.c:319):tds_open_socket() failed<br>
11:16:14.963069 10688 (util.c:322):tdserror(0x600049ad0, 0x60004b500, 20009, 111)<br>
11:16:14.963069 10688 (odbc.c:2343):msgno 20009 20003<br>
11:16:14.963069 10688 (util.c:352):tdserror: client library returned TDS_INT_CANCEL(2)<br>
11:16:14.963069 10688 (util.c:375):tdserror: returning TDS_INT_CANCEL(2)<br>
11:16:14.963069 10688 (mem.c:648):tds_free_all_results()<br>
11:16:14.964069 10688 (error.c:414):odbc_errs_add: "Unable to connect to data source"<br>
11:16:14.964069 10688 (error_export.h:23):SQLError(0x0, 0x600049b70, 0x0, 0x22ba50, 0x22ba4c, 0x22c540, 513, 0x22ba46)<br>
11:16:14.964069 10688 (error.c:565):SQLGetDiagRec: "[FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist"<br>
11:16:14.964069 10688 (error_export.h:23):SQLError(0x0, 0x600049b70, 0x0, 0x22ba50, 0x22ba4c, 0x22c540, 513, 0x22ba46)<br>
11:16:14.964069 10688 (error.c:565):SQLGetDiagRec: "[FreeTDS][SQL Server]Unable to connect to data source"<br>


0 commentaires

2
votes

i Exécutez MS Windows dans VirtualBox.

Alors pour moi d'accéder à MS SQLSERVER de mon hôte Mac, je dois:

  • Ajouter une entrée de transfert de port dans VirtualBox> Dispositifs> Réseau> Réseau Paramètres> Avancé

  • Port ouvert 1444 dans le panneau de commande MS> Firewall Windows> Avancé Paramètres> Règles entrantes

  • Démarrez le navigateur SQL Server dans SQL Server Configuration Manager> SQL Services de serveurs

  • Activer TCP dans SQL Server Configuration Manager> Protocoles

  • Définissez le port TCP sur 1444 pour TCPall dans SQL Server Configuration Manager> Protocoles> TCP / IP> Propriétés ...

     Définir le port TCP sur 1444

    Notez que MS SQL Server est configuré pour écouter le port 1444.


1 commentaires

Merci beaucoup . Votre solution a travaillé pour mon problème.