Строка подключения в c # - PullRequest
       12

Строка подключения в c #

1 голос
/ 05 января 2011

Я пытаюсь подключиться к базе данных с помощью строки подключения и получаю следующую ошибку при попытке подключения к базе данных. Для интегрированной безопасности я использую SSID, поэтому мне не нужно вводить имя пользователя и пароль. Кроме того, база данных находится на том же компьютере и была создана внутри VS2010. Я могу без проблем подключиться к БД, используя SqlDataSource, но я хочу начать писать собственные строки подключения.

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        string source = "server=(local)" + "integrated security=SSPI;" + "Connect     Timeout=30; "  + "database=Name";
        SqlConnection conn = new SqlConnection(source);
        conn.Open();

        conn.Close();

    }

Я получаю следующую ошибку:

Сетевой или экземплярный произошла ошибка при установлении подключение к SQL Server. Сервер не был найден или не был доступен. Убедитесь, что имя экземпляра правильно и что SQL Server настроен для разрешения удаленного соединения. (поставщик: именованные трубы Поставщик, ошибка: 40 - Не удалось открыть подключение к SQL Server)

Ответы [ 5 ]

2 голосов
/ 05 января 2011

Попробуйте следующий синтаксис в качестве строки подключения:

string source = "Data Source=Server Address;Initial Catalog=Database Name;Integrated Security=SSPI;";

Где адрес сервера должен быть локальным или. \ SQLExpress

Надеюсь, это правильно.Я не установил vs для тестирования

2 голосов
/ 05 января 2011

Вам нужна точка с запятой после (локально)

string source = "server=(local);" + "integrated security=SSPI

Я заметил, что вы пометили вопрос с asp.net по умолчанию asp.net работает под системной учетной записью, когдаиспользуя встроенную защиту, эта учетная запись пытается получить доступ к вашей базе данных, вероятно, у нее нет разрешения.

Посмотрите здесь для получения дополнительной информации.

2 голосов
/ 05 января 2011

Вам не хватает ; после имени сервера.

Почему вы объединяете все части строки подключения, если они не меняются?Это затрудняет чтение.

Попробуйте это:

string source = "server=(local);integrated security=SSPI;ConnectTimeout=30;database=Name";
1 голос
/ 05 января 2011

Я бы порекомендовал вам использовать SqlConnectionStringBuilder: http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder(v=VS.100).aspx

Это, вероятно, облегчит.

0 голосов
/ 06 января 2011

Чтобы подключиться к SQL Server из C # .NET, вам нужно создать строку подключения, такую ​​как ниже:

private SqlConnection connection;
private string connectionString =
    @"Server=(local);Database=Embedding_SQL_Test;User ID=sa;Password=123";
connection = new SqlConnection( connectionString );

Далее вы используете созданный выше объект SqlConnection для создания SqlCommand, какпоказано ниже:

SqlCommand cmd = new SqlCommand( "select * from Customer where CustomerID = @Cid",
    connection); 

Показанный здесь SQL-запрос может быть заменен запросами SELECT, INSERT, UPDATE и т. д.

Далее для выполнения SQL-запросов вВ базе данных используются следующие методы: ExecuteReader - для выполнения SELECT запросов ExecuteNonQuery - для выполнения INSERT, DELETE, UPDATE и SET операторов.

Этоочень краткое описание того, как подключиться к базе данных SQL Server из C # и выполнить запросы SQL в базе данных.Для получения подробной информации о строке подключения, методы и их параметры проверьте следующую ссылку: (http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html) Здесь вы также найдете подробности о том, как передавать параметры в запросы SQL, а также вызывать хранимые процедуры и многое другое.

...