Tagi na forum.

C# 1456 XML 282
SQL 1192 sieci 268
ASP.NET 785 IIS 262
Windows 726 C++ 255
web 608 Html 218
Visual Studio 515 Information Technology 193
SQL Server 425 MSDN 167

pokaż wszystkie tagi na forum

Brak połączenia z bazą danych MySQL

mapi12 2012-01-16 16:24:12
0
avatar
 
 

Witam.

Mam aplikację działającą z bazą danych MySQL.

Do tej pory aplikacja działała na localhost i nie było z nią najmniejszych problemów.Dzisiaj aby zademonstrować jej możliwości postawiłem na darmowym hostingu bazę danych, zaimportowałem tabele z oryginału z localhosta i pojawił się problem.

Do łączenia z bazą używam najnowszego connector/.net 6.4.4.

I nie potrafię się połączyć z bazą danych. Żadną zewnętrzną bazą danych.

Korzystam z 2 serwisów darmowych i w obydwóch połączenie wygląda tak:

string connection = "Data source=adresserwera;DATABASE=bazadanych;UID=user;PASSWORD=pass"; MySqlConnection conn = new MySqlConnection(connection); conn.Open();

 

W obydwóch wypadkach otrzymuję komunikat:

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts.   w MySql.Data.MySqlClient.NativeDriver.Open()   w MySql.Data.MySqlClient.Driver.Open()   w MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)   w MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()   w MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()   w MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()   w MySql.Data.MySqlClient.MySqlPool.GetConnection()   w MySql.Data.MySqlClient.MySqlConnection.Open()   w Kalendarz.Form2.button1_Click(Object sender, EventArgs e) w C:\Users\Admin\Documents\Visual Studio 2010\Projects\Kalendarz\Kalendarz\Form2.cs:wiersz 26

Sprawdzałem połączenie pare razy w tym dokładnie sprawdziłem dane logowania do bazy danych. Obydwie są bazami MySQL niczym xampp. Na xamppie działa, na nich nie.

W drugim wypadku otrzymałem taki komunikat:

MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. ---> System.Exception: Call to GetHostEntry failed after 00:00:00 while querying for hostname 'db4free.net:3306': SocketErrorCode=HostNotFound, ErrorCode=11001, NativeErrorCode=11001. ---> System.Net.Sockets.SocketException: Nieznany host   w System.Net.Dns.GetAddrInfo(String name)   w System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)   w System.Net.Dns.GetHostEntry(String hostNameOrAddress)   w MySql.Data.Common.StreamCreator.GetDnsHostEntry(String hostname)   --- Koniec śladu stosu wyjątków wewnętrznych ---   w MySql.Data.Common.StreamCreator.GetDnsHostEntry(String hostname)   w MySql.Data.Common.StreamCreator.GetHostEntry(String hostname)   w MySql.Data.Common.StreamCreator.GetStreamFromHost(String pipeName, String hostName, UInt32 timeout)   w MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)   w MySql.Data.MySqlClient.NativeDriver.Open()   --- Koniec śladu stosu wyjątków wewnętrznych ---   w MySql.Data.MySqlClient.NativeDriver.Open()   w MySql.Data.MySqlClient.Driver.Open()   w MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)   w MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()   w MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()   w MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()   w MySql.Data.MySqlClient.MySqlPool.GetConnection()   w MySql.Data.MySqlClient.MySqlConnection.Open()   w Kalendarz.Form2.button1_Click(Object sender, EventArgs e) w C:\Users\Admin\Documents\Visual Studio 2010\Projects\Kalendarz\Kalendarz\Form2.cs:wiersz 26

Uważam, że to problem z portami jednak firewall jest wyłączony a port na routerze jest otwarty.  Proszę o pomoc.


tagi: C#   mysql   SQL


mapi12  2012-01-16 17:20:17 #1
0
avatar
 
 

Nie mogę niestety edytować mojego postu wyżej więc proszę wybaczyć ale to dość ważna sprawa - można jak się okazuje połączyć z serwerem w sieci firmowej. Niestety nadal nie można z zewnętrzną bazą danych...


2devtf  2012-01-16 19:38:06 #2
0
avatar
 
 

A czy te 2 darmowe serwery umożliwiają łączenie się z MySQL "z zewnątrz"? 

Być może połączenie możliwe jest tylko np. z poziomu ich serwera (np. przez jakiś php położony na ich serwerze).


Achillex  2012-01-16 20:13:56 #3
0
avatar
 
 

Swego czasu, też używałem tego serwera co ty ( w tym drugim przypadku ). Nie pamiętam jak się to skończyło, ale wiem, że nawet jeśli uda Ci się połączyć to na wykonanie prostego zapytania, które zwraca Count z bardzo prostej tabeli trwa niemiłosiernie długo i nie pamiętam czy się wtedy doczekałem do sfinalizowania tego zapytania.

Co do samego connectionStringa. Nie wiem czy ma to znaczenie, ale z tego co pamiętam u siebie miałem podany taki: Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword; Chyba niczym on się od twojego nie różni pozatym portem. Spróbuj może tu leży problem ?


Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony