Łączenie z bazą danych

0

Mam problem podczas łączenia z bazą danych. Wyskakuje błąd "A network-related or instance-specific error occured while establishing a connection to SQL Server. The server was not found or was not accesible. Verify that the instance name is correct and that Sql Server is configured to allow remote connections. (Provider: Sql Network Interfaces, error: 26 - Error Locating Server/Instance Specifed". Baza danych jest na tym samym komputerze co program więc nie trzeba zmieniać dostępu. Nazwa serwera to "Laptop\SQLExpress" a autoryzacja jest za pośrednictwem windowsa więc nie trzeba hasła.
Próbowałem na wiele sposobów znalezionych w internecie ale nie wiem po której strony leży błąd, czy po stronie zapytania czy po stronie bazy danych.
Próbowałem m.in. tak

 const char * connectionString = "server=(local)\\Laptop\SQLExpress;trusted_connection=true;database=Trening";
sqlcon = gcnew SqlConnection(gcnew String(connectionString));

i tak

sqlcon = gcnew System::Data::SqlClient::SqlConnection("Server=(local)\\SQLExpress;Database=Trening;Trusted_Connection=Yes;"); 

oraz zmieniając nazwę serwera na wszelkie różne sposoby. Problem tkwi w niewłaściwym instalowaniu bazy czy sposobie łączenia z nią. Namespace'y są dodane

 
using namespace System::Data;
	using namespace System::Data::SqlClient;
0

A usługa serwera pracuje?

0
 const char * connectionString = "server=(local)\\Laptop\SQLExpress;trusted_connection=true;database=Trening";
sqlcon = gcnew SqlConnection(gcnew String(connectionString));

ale wydziwiasz z tą składnią…

String ^connectionString = L"server=(local)\\Laptop\SQLExpress;trusted_connection=true;database=Trening";
sqlcon = gcnew SqlConnection(connectionString);

albo

sqlcon = gcnew SqlConnection(L"server=(local)\\Laptop\SQLExpress;trusted_connection=true;database=Trening");
0

Azarien twoje porady okazały się być pomocne wygląda na to, że się połączyłem, ponieważ pojawia się napis.

sqlcon = gcnew SqlConnection(L"server=(local)\\SQLExpress;trusted_connection=true;database=Trening");
sqlcon->Open();

if ( sqlcon != nullptr && sqlcon->State == ConnectionState::Open)
{
    tl->Text = "ok";
}

Jeszcze czytam na temat tego w jaki sposób wydobyć teraz dane z bazy. Sposoby z których korzystałem znalazłem w książkach i w internecie. Korzystając z okazji czy dodając zewnętrzną bibliotekę z kodem w zarządzalnym c++ lub c# musi ona być w pliku ".dll"? Ponieważ próbowałem stworzyć nową klasę (plik nagłówkowy .h) i wyskakuje taki błąd

error LNK2020: unresolved token (06000013) GenerateLabels<System::Windows::Forms::Label>::Dispose
1>scieżka dostępu do pliku : fatal error LNK1120: 1 unresolved externals

. Z klasą jest najprawdopodobniej wszystko ok, ponieważ jeżeli znajduje się w tym samym namespace'ie co okno to wszystko działa tak jak ma działać.

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