Obecnie próbuję połączyć się z bazą danych na moim hoście lokalnym za pomocą C #, ale nie wiem, czego użyć dla datasource
.
Próbowałem już „localhost”, 127.0.0.1 i „(local)”. Naprawdę nie wiem, co robić. Czy ktoś wie, co robić?
Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Database_connection
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connetionString;
SqlConnection cnn;
string dataSource = "127.0.0.1";
connetionString = "Data Source=" + dataSource + ";Initial Catalog=mydatabase;User ID=root;Password=root";
cnn = new SqlConnection(connetionString);
cnn.Open();
MessageBox.Show("Connection Open !");
cnn.Close();
}
}
}
Błąd:
System.Data.SqlClient.SqlException: „Podczas nawiązywania połączenia z SQL Server wystąpił błąd związany z siecią lub wystąpieniem. Serwer nie został znaleziony lub nie był dostępny. Sprawdź, czy nazwa instancji jest poprawna i czy SQL Server jest skonfigurowany do zezwalania na połączenia zdalne. (dostawca: dostawca nazwanych potoków, błąd: 40 - nie można otworzyć połączenia z programem SQL Server)
2 odpowiedzi
Jeśli masz MySql zainstalowany na komputerze lokalnym, potrzebujesz bibliotek MySql dla NET (AKA Net Connector) i możesz je pobrać stąd:
Pliki do pobrania społeczności MySQL
Po zainstalowaniu bibliotek musisz dodać odwołanie do swojego projektu
Zarządzaj referencjami w projekcie
W tym momencie poinstruujesz swój kod, że chcesz używać klas w przestrzeni nazw dostarczonej przez dodawane biblioteki
using MySql.Data.MySqlClient;
U góry źródła pliku.
Na koniec zmieniasz klasy, aby używały właściwej:
private void button1_Click(object sender, EventArgs e)
{
string connetionString;
connetionString = $"Data Source=localhost;Initial Catalog=mydatabase;User ID=root;Password=root";
using(MySqlConnection cnn = new MySqlConnection(connetionString))
{
cnn.Open();
MessageBox.Show("Connection Open !");
}
}
W porządku, problem polegał na tym, że użyłem SQL do bazy danych MySql. Zmiana SqlConnection na MySqlConnection działa
Podobne pytania
Nowe pytania
c#
C # (wymawiane „patrz ostro”) jest językiem programowania wysokiego poziomu, statycznie typowanym, wieloparadygmatowym opracowanym przez firmę Microsoft. Kod C # zwykle jest przeznaczony dla rodziny narzędzi Microsoft .NET i czasów wykonywania, do których należą między innymi .NET Framework, .NET Core i Xamarin. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w C # lub C # formalnej specyfikacji.