C# i połączenie z MySQL

0

Witam mam pytanie odnośnie połączenia się z Visual Studio .Net (c#) z bazą danych umieszczoną na serwerze z tego co szukałem w internecie moje połączenie z bazą jest wykonane poprawnie a usługodawca zapewnia mnie ze mam możliwość bezproblemowego połączenia zdalnego z bazą.

...
using System.Data;
using System.Data.SqlClient;

static void Main()
        {
           
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //------------------------------------baza danych----------------------------------


          1)  SqlConnection myCn = new SqlConnection("server=ip_hosta;uid=login;
                                              pwd=pass;database=nazwa_bazy");
              myCn.Open();


       2) SqlConnection sqlConn = new SqlConnection();
           sqlConn.ConnectionString = "server= ip_hosta;" +
                              "database=nazwa_bazy;" +
                              "user id=login;" +
                              "password= pass;";
                            
                                        try
                                        {
                                            // otwórz połączenie:
                                            sqlConn.Open();

                                            MessageBox.Show("Połączono z bazą danych!");

                                            // zamknij połaczenie:
                                            sqlConn.Close();
                                        }
                                        catch (System.Data.SqlClient.SqlException se)
                                        {
                                            MessageBox.Show("Nastąpil bląd połaczenia: " + se);
                                        }
            //--------------------------------------------------------------
            Application.Run(new Form1());
        }

zarówno sposób 1) i sposób 2) po kompilacji informuje mnie ze niemoge nawiazac połaczenia z bazą danych lub jest ona niedostępna np : "error: 40 - Nie można otworzyć połączenia z programem SQL Server" a dostęp do bazy mam poprzez phpmyadmin
i czy wina leży po mojej stronie czy po stronie usługodawcy bazy danych ?

0

Skoro chcesz się połączyc z bazą MySql użyj raczej MySql .NET Connectora

0

hmmm a z poziomu kodu visual c# nie da się tego zrealizować ? chciałem stworzyć prostą aplikacje okienkową odwzorowującą księgę kontaktów a zamiast zapisu danych na dysk do pliku i operowania na pliku chciałem to zrobić przy pomocy bazy MySQL do której mam dostęp.

http://dev.mysql.com/downloads/connector/net/ --> posiadam system 64x

0

i bardzo dobrze ze posiadasz connectora, ale jak napisal coorter uzyj go!
bo twoj kod tego nie robi, uzywa klas z przestrzeni nazw System.Data.SqlClient, ktore sloza tylko do polaczenia z MS Sql Server
MySQL Connector/Net ma analogiczne klasy w innej przestrzeni nazw, dolacz referencje do biblioteki net connectora i zarob to samo za pomoca jego klas

0

w porządku zainstalowałem connectora http://www.mysql.com/downloads/connector/odbc/ dla swojego systemu instalacja przebiegła bez problemów.
ale jak teraz z tego w praktyce skorzystać sam connector rozumiem że nie to aplikacja z interfejsem dla użytkownika ale bardziej biblioteki, ponieważ w ścieżce ../MySQL/Connector_ODBC_5.1/ znajduje się tylko myodbc-installer.exe który chyba wczytuje owe biblioteki i pare plików .lib i .dll

moje aktualne pytanie brzmi jak teraz tego użyć w moim przykładzie, ponieważ chyba się trochę pogubiłem.

0

Dodaj do projektu w referencjach plik MySql.Data, następnie w pliku gdzie chcesz tego używać

using MySql.Data

i tak jak napisał massther używasz analogicznych klas i metod tylko, że dla MySql a nie Sql, np
SqlConnection ---> MySqlConnection.

0

i niepotrzebnie instalowalem connector do odbc, ty chcesz uzyc connectora .net i pisales ze taki masz zainstalowany, musisz tylko go uzyc, czyli patrz post powyzej

0

"hmmm a z poziomu kodu visual c# nie da się tego zrealizować ? chciałem stworzyć prostą aplikacje okienkową odwzorowującą księgę kontaktów a zamiast zapisu danych na dysk do pliku i operowania na pliku chciałem to zrobić przy pomocy bazy MySQL do której mam dostęp.

http://dev.mysql.com/downloads/connector/net/ --> posiadam system 64x"

przepraszam niepełne zdanie napisałem niemam tego connectora co tu napisalem zainstalowanego bo znalazlem jego tylko wersje 32x a ja posiadam system 64x

0

nadal schemat laczenia jest taki sam
tworzysz connection
otwierasz je
wykonujesz zapytanie do bazy
zamykasz

nie wiem po co chlopaki od mysql pisali dokumnetacje, pewnie z nudow ;)
http://dev.mysql.com/doc/refman/5.1/en/connector-odbc.html
jest wszystko instalacja, konfiguracja, przyklady uzycia, etc.

0

nie wiem czy to już z powodu późnej pory czy z mojego zgubienia i zbyt dużej ilości otwartych stron ale już w ogóle nie wiem o co chodzi.

  1. miałem problem z połączeniem poprzez visual studio 2008 (c#) z bazą danych dostępna zdalnie na serwerze do którego posiadam :ip hosta, login, pass i nazwę bazy danych.
  2. w celu rozwiązania powyższego problemu sciągnełem connectora .net mysql "Connector-ODBC 5.1.6" z strony http://dev.mysql.com/downloads/connector/odbc/ dla wersji mojego systemu.
  3. następnie chciałem dodać nową dyrektyre "using MySql.Data;" i analigicznie
    "i tak jak napisał massther używasz analogicznych klas i metod tylko, że dla MySql a nie Sql, np
    SqlConnection ---> MySqlConnection. " ale przy dodaniu samej powyższej dyrektowy

using MySql.Data

wyskakuje mi błąd podczas kompilacji Error 1

The type or namespace name 'MySql' could not be found (are you missing a using directive or an assembly reference?) D:...\nr_2\

i najmocniej przepraszam za brak 100% zrozumienia waszych wskazówek i rad.

skonfigurowałem połączenie systemowy dns w "Administratorze Danych Źródeł ODBC" ale jak to dalej wykorzystać w moim przykładzie

0

a referencja do biblioteki?
np. w menu kontekstowym projektu add reference, pewnie connector dodal sie do gac, ale jesli nie to musisz sam go znalezc

0

w menu mam : system/ system.core / system.data/ system.data.datasetextensions/ system.deployment/ system.drawing/system.windows.forms / system.xml / system.xml.linq

wybierajac add reference w zakladce .Net która referencje wybrać Data.MySQL niewidać a w browse w momencie wybrania biblioteki z zainstalowanego conectera myodbc5.dll lub myodbc5S.dll wyskakuje error ze referencja nie może być dodana upewnij się ze plik jest "valid asembly or COM component"

0

ehh, nie wiem co Ty w końcu chcesz osiągnąć, przecież to proste i w miare intuicyjne. A jeśli nie to wysil się trochę, jest mnóstwo przykładów jak korzystać z MySql Connectora! Nawet w samym sterowniku są przykłady użycia właśnie w C#!!!

Sciągnij sobie to:
http://dev.mysql.com/downloads/connector/net/

zainstaluj, dodaj w projekcie do refernces taka .dll:
(ja mam ją w takim miejscu)
c:\Program Files\MySQL\MySQL Connector Net 6.2.2\Assemblies\MySql.Data.dll

zobacz sobie w miejscu gdzie Ci się to zainstaluje przykłady użycia i działaj!
A jeśli z tym sobie nie poradzisz to zastanów się gdzie jest problem....

0

@coorter spokojnie, on nie uzywa connectora net, a chce odbc, bo .net'owego nie ma na 64 bity

@Qsmir1 poczytaj dokumentacje na stronie mysql
chyba jak zainstalujesz connector odbc i dobrze skonfigurujesz zrodla odbc (czy jakos tak sie to nazywa), to powinienes moc uzyc klas z System.Data.Odbc, a to juz jest czesc frameworka, konkretnie System.Data.dll

0

O ile kojarzę, to ten sam connector do .net powinien działać też w systemie 64-bitowym. A jeżeli tak to nie rozumiem po co tak upierać sie na to odbc

0

w porządku już wszystko działa powodem błędów byl zły zainstalowany conector który nie posiadał tej biblioteki dzięki wielkie za pomoc , temat uznaje za zamknięty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1