Błąd połączenia z sql

0

Mam fragment kodu w którym testuje połączenie z bazą.

string ConnectionString ="Server ="+datasource+"; Database = "+database+"; User Id ="+userID+"; Password ="+password+";";
 try
                {
                    SqlConnection connection = new SqlConnection(ConnectionString);

                    string queryString = "SELECT * FROM Data";
                    SqlCommand command = new SqlCommand(queryString, connection);
                    command.Connection.Open();
                }

 catch (Exception exc)
{
                    listBox1.Items.Add("Coś poszło nie tak");
                    listBox1.Items.Add(exc.Message);
}
 

Co może być przyczyną poniższego błędu
Nie można otworzyć bazy danych xyz żadanej podczas logowania. Logowanie nie powiodło się. Logowanie użytkownika xy nie powiodło się
Czy to oznacza, że dane logowania są złe czy może być coś innego ?
Edit problemem było źle skonfigurowane połączenie.

0
  • zły login
  • złe hasło
  • nieistniejąca baza(?)
  • zły connection string

Popatrz tu i popróbuj różnych: https://www.google.pl/search?q=connection+string+mssql&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=m4mkV7z9Beav8we6q6fwDA

0

Czy istnieje odpowiednik Microsoftowy klasy FbDataReader Firebirda ?

0

Czyżby SqlDataReader?

0

Tak oczywiście. Teraz mam jeszcze jeden problem muszę na zmiane definiować zmienną my reader raz jako SqlDataReader a raz jako FbDataReader. na razie pisze mi takie coś a local variable is already define in this scope. Właściwie to tak jakby jedna i ta sama zmienna o tej samej nazwie zmieniała typ.

0

No nie możesz mieć w jednym kontekście (metodzie, ifie, ogólnie między dwiema klamerkami) dwóch zmiennych różnych typów i tej samej nazwie.
Spróbuj zadeklarować tę zmienną jako IDataReader, a potem przypisywać do niej obiekty obu typów. Ale to może też świadczyć o złym pomyśle, więc lepiej gdybyś pokazał ten kod.

0

A ja widzę, że masz poważny problem z podstawami. I najpierw powinieneś nauczyć się, czym jest dziedziczenie i ogólnie na czym polega programowanie obiektowe. A dopiero później uderzać w bazy danych.

0

Witam,

Zobacz czy taki zapis nie będzie dla ciebie bardziej czytelny

var connectionString = "https://www.connectionstrings.com/sql-server/";
using (var connection = new SqlConnection(connectionString))
{
    connection.Open();

    using (var command = connection.CreateCommand())
    {
        command.CommandText =
            "SELECT col1, col2, col3, col4 FROM [dbo].[table1] WITH (nolock) WHERE id = @id;";
        command.CommandType = CommandType.Text;
        command.CommandTimeout = 600;

        command.Parameters.Add("@id", SqlDbType.BigInt).Value = id;

        using (var reader = command.ExecuteReader())
        {
            while (reader.Read())
            {
                //czytasz wiersz po wierszu
            }
        }
    }
}

Zmiana bazy danych następuje generalnie przez zmianę klasy która odpowiada za połączenie do bazy danych (np SqlConnection na FbSqlConnection).

Pozdrawiam,

mr-owl

0

Dzięki pomogliście mi. Ogólnie to jestem na stażu i różne rzeczy trzeba robić dlatego pytam.

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