Ashutosh_jha Ответов: 2

Подключение к базе данных Sql на языке C#


Подключение к базе данных SQL в C#.net

Что я уже пробовал:

string str;
   SqlConnection cnn;
   str = @"server=(local);database=SMS_Data;Integrated Security=SSPI";
   SqlConnection cnn = new SqlConnection(connetionString);

Eric Lynch

Если вы уже пробовали все это, значит, что-то пошло не так. В противном случае, вы бы здесь не задавали вопросов :)

Как правило, в C#, если "что-то идет не так", генерируется исключение и (если вы не обработаете исключение) оно отображается где-то. Если вам действительно нужна помощь, вам нужно будет поделиться подробностями этого исключения.

Есть куча разных вещей, которые могут "пойти не так". Некоторые примеры включают в себя: вы (как пользователь) не авторизованы для доступа к базе данных, вы указали неверное имя базы данных, SQL server не запущен, соединение заблокировано брандмауэром или другими сетевыми настройками, какая-то проблема вызвала тайм-аут до завершения соединения или многие, многие другие возможные проблемы.

Чтобы помочь вам, нам нужно знать, какая из этих многочисленных возможных проблем является причиной. Исключение обычно предоставляет достаточно подробностей, чтобы (как минимум) ограничить число возможностей. Как только мы узнаем, какие проблемы могут быть возможны, мы сможем дать некоторые советы о том, как исправить эту конкретную проблему (или проблемы).

Без этой информации все, что мы можем сделать, это догадаться, что является пустой тратой нашего времени и вряд ли поможет вам.

Конечно, все это предполагает, что ваш код действительно компилируется. Как отмечают другие, переменная "connetionString" не определена, поэтому либо компиляция должна завершиться неудачей, либо ваш вопрос не включает код, который вы действительно пробовали (возможно, опечатка?).

Как вторичная проблема, OriginalGriff прав, вы не должны жестко кодировать строки подключения в исходном коде. Как правило, я обычно сохраняю их либо в приложении, либо в файле веб-конфигурации. Если вы также добавите в свой вопрос тип приложения, которое вы пишете (Web или WinForm/WPF/Console), вы можете получить более конкретную информацию о том, как это делается.

Надеюсь, вы добавите достаточно информации к своему вопросу. помогите нам помочь вам. Удачи.

2 Ответов

Рейтинг:
1

Maciej Los

Вы не предоставили достаточно информации о своей проблеме. Тем не менее...

Прежде всего, я согласен с OriginalGriff, потому что:

Цитата:
Встраивание строк подключения в код вашего приложения это может привести к уязвимостям безопасности и проблемам технического обслуживания. Незашифрованные строки подключения, скомпилированные в исходный код приложения, можно просмотреть с помощью Ildasm.exe (IL Disassembler) инструмент. Более того, если строка подключения когда-либо изменится, ваше приложение должно быть перекомпилировано. По этим причинам рекомендуется хранить строки подключения в файле конфигурации приложения.

Видеть: Строки подключения и файлы конфигурации | Microsoft Docs[^]

Для получения более подробной информации, пожалуйста, смотрите:
Синтаксис Строки Подключения | Microsoft Docs[^]
Строки подключения SQL Server для ASP.NET веб-приложения | Microsoft Docs[^]
Строки подключения SQL Server - ConnectionStrings.com[^]


Рейтинг:
0

OriginalGriff

Хм. Посмотрите на свой код:

string str;
SqlConnection cnn;
str = @"server=(local);database=SMS_Data;Integrated Security=SSPI";
SqlConnection cnn = new SqlConnection(connetionString);
Что там внутри connetionString? Потому что переменная, в которую вы помещаете свою фактическую строку, называется str ...

Вы не должны "жестко кодировать" строки подключения: это означает, что ваше приложение должно быть изменено, чтобы переключаться между разработкой и производством, если ничего другого нет, и это опасно. Это также приводит к множеству различных мест для изменения, когда вы выпускаете продукт. Вместо этого используйте конфигурационный файл или что-то подобное. Вот как я это делаю (но для вас это, наверное, перебор): Хранилище экземпляров - простой способ обмена конфигурационными данными между приложениями[^]


Ashutosh_jha

строка str;
Объект sqlconnection СNN;
стр = @"сервер=(местные);базы данных=SMS_Data;Комплексная безопасность=SSPI";
SqlConnection cnn = новый SqlConnection(str);

OriginalGriff

Лучше - но серьезно, не используйте жестко закодированные строки подключения.

Ashutosh_jha

дайте мне правильный путь и код

OriginalGriff

Боюсь, вам придется объясниться более подробно: мы понятия не имеем, в чем дело. Любые сообщения об ошибках, что он делает, чего вы не ожидали, или не делает того, что вы сделали, - все в этом роде.

Ashutosh_jha

Я пытаюсь создать простое приложение windows в visual studio 2005 с sql server 2008. я понятия не имею, как подключиться к базе данных с помощью кода.

OriginalGriff

Какую его часть вы знаете, как это сделать?
Я не пытаюсь быть смешным или раздражающим: мы понятия не имеем, что вы пытались, где вы застряли, или какая помощь вам нужна.

Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
Так что объясните подробно, и мы постараемся помочь. Но набрав наименьшее, что вам может сойти с рук, и надеясь, что это не сработает - чем лучше информация, которую Вы нам дадите, тем лучше мы сможем вам помочь!