Avatar billede dennism Nybegynder
16. februar 2009 - 13:19 Der er 6 kommentarer og
1 løsning

C#: MySQL

Jeg har en MySQL database kørende på localhost. Jeg vil gerne fra kunne connecte til den fra min C# program i Visual Studio 2008.

Jeg forsøgte først at hente mysql-connector-net-1.0.10.1.exe, men når jeg forsøger at installere det, får jeg at vide at .NET 1.1 eller nyere skal være installeret. Jeg har .NET 3.5 SP1.

Da dette ikke kunne blive installeret, forsøger jeg mig nu med "System.Data.SqlClient", og har denne simple connect:
SqlConnection con = new SqlConnection("server=localhost;uid=dennis;Password=xxx;Database=mydb;");

Men når jeg kører dette, komme der en SqlException som siger:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Jeg kører på en Vista maskine. Håber der er nogen der kan hjælpe mig? Har lavet en remote-bruger på mySQL, så det burde ikke være problemet.
Avatar billede erikjacobsen Ekspert
16. februar 2009 - 13:50 #1
Du skal nok bare have den rigtige:

http://dev.mysql.com/downloads/connector/net/5.2.html
Avatar billede aaberg Nybegynder
16. februar 2009 - 13:53 #2
SqlClient klassen er kun til Microsoft Sql Server.

Når man installerer .NET version 3.5, får du automatisk både version 2.0 og 3.0 med i købet, men ikke 1.1. Prøv at installere version 1.1, og se om du derefter ikke kan installere MySql connectoren.
http://www.microsoft.com/downloads/details.aspx?FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3&displaylang=en

Ellers tror jeg du kan bruge OleDB (System.Data.OleDB). Se eventuelt her:
http://connectionstrings.com/mysql
Avatar billede dennism Nybegynder
16. februar 2009 - 14:05 #3
Så fik jeg Connectoren til at køre. I Visual Studio har jeg under "Server Explorer" connected til mySQL databasen nu. Hvordan kommer jeg så i gang med at lave queries på den?
Avatar billede arne_v Ekspert
16. februar 2009 - 14:34 #4
Groft sagt ligesom med SQLServer. Alle klasse navneene starter bare med MySql fremfor Sql.
Avatar billede arne_v Ekspert
16. februar 2009 - 14:35 #5
Eksempel fra lageret:

using System;
using System.Data;
using MySql.Data.MySqlClient;

public class MainClass
{
    public static void Main(string[] args)
    {
        MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT * FROM T1 WHERE F1 > ?f1", con);
        sel.Parameters.Add("?f1", MySqlDbType.Int32);
        sel.Parameters["?f1"].Value = 2;
        MySqlDataReader rdr = sel.ExecuteReader();
        while(rdr.Read())
        {
            Console.WriteLine(rdr[0] + " " + rdr[1]);
        }
        rdr.Close();
        con.Close();
    }
}
Avatar billede dennism Nybegynder
16. februar 2009 - 15:44 #6
Vil I smide et svar?

Måske I kan hjælpe her:
http://www.eksperten.dk/spm/864141
Avatar billede arne_v Ekspert
16. februar 2009 - 15:57 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester