Sql server i C#

0

Witam

Wiem, że temat był poruszany już wielokrotnie na forum, lecz niestety mimo wnikliwej lektury nie potrafię połączyć C# z SQL serwerem.

W czym problem:
Ściągnąłem i zainstalowałem Microsoft SQL Server Studio Express 2005. Podczas instalacji wybrał Windows Authetication (może to ważne), po instalacji w SQL Server Configuration Manager udostępniłem protokół TPC/IP oraz Named Pipe. Dostępne są dwa adresy IP localhost oraz mój adres. Dzięki SQL Server Surface Area Configuration umożliwiam lokalne jak i zdalne połączenia. W SQL Server Management Studio Express tworze nowy login (utożsamian to z userem) oraz nową baze. Niestety pomimo tych zabiegów poniższy program wyświetla następujący komunikat

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Data.SqlClient.SqlConnection SqlCon;
      SqlCon = new System.Data.SqlClient.SqlConnection("server=127.0.0.1; " +
                                           " Initial Catalog=test2; "+
                                           " User ID=mrok; " +
                                           " Password=pas");
            Console.WriteLine("poczatek testowania");
            try
            {
                SqlCon.Open();
                Console.WriteLine("OKl!");
            }
            catch (Exception ex)
            {
               Console.WriteLine(ex.Message);
            }
            Console.ReadKey();
        }
    }
}

An error has occurred while establishing a connection to the server. When conne
cting to SQL Server 2005, this failure may be caused by the fact that under the
default settings SQL Server does not allow remote connections. (provider: Named
Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Co ciekawe, gdy próbowałem wykorzystać dataGridView1, podczas definiowania źródła danych (VSC#2005EE->Data->Add New data source…->database->new connection) mogę z zdefiniowanej listy wybrać tylko źródła typu file. Docelowo chciałbym moc łączyć się ze zdalnym serwerem, więc takie rozwiązanie odpada.

Czy ktoś spotkał się z podobnym problemem lub widzi tu jakiś rażący błąd?

Jeśli komuś pomoże to:

SqlDataSourceEnumerator enumSql = SqlDataSourceEnumerator.Instance;
Servers = enumSql.GetDataSources();
foreach (DataRow server in servers.Rows)
            {
                Console.WriteLine("Server name  :" + server[0]);
                Console.WriteLine("Instance name:" + server[1]);
                Console.WriteLine("Is clustered :" + server[2]);
                Console.WriteLine("Version      :" + server[3] + "\n\r");
            }

wyswietla następujące parametry:

Server name :FAJNY
Instance name:SQLEXPRESS
Is clustered :No
Version :9.00.3042.00

0

@"Server=FAJNY\SQLEXPRESS; Integrated Security=SSPI;";

Jeśli login / hasło to dodaj.

0

dzieki wielkie Deti

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