jcarbuncles Ответов: 2

Как я могу подключиться к sql файл МДФ на C# консольное приложение?


Я попытался подключить консольное приложение C# к файлу базы данных .mdf, созданному с помощью MS tutorials, как указано ниже.
Окно консоли пустое, и когда я останавливаю отладку, я получаю сообщение об ошибке msg, как показано ниже.

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

Я создал базу данных (Pubs) с одной таблицей (Authors) в Visual Studio в проекте Forms. Все выглядит хорошо. Я создал эту базу данных и таблицу, чтобы соответствовать упражнению Microsoft в
https://support.microsoft.com/en-us/help/314145/how-to-populate-a-dataset-object-from-a-database-by-using-visual-c-net
Я создал новое консольное приложение C#, скопировал и вставил код из приведенной выше статьи MS.
Я скопировал 2 файла Authors.mdf и Authors_log.ldf, которые я создал ранее, в ту же папку, где находится Program.cs.
Поскольку при создании базы данных не было настроено ни пароля, ни идентификатора пользователя, я попробовал строку подключения С и без "Password=myPassword;User ID=myUserID;"
Код строится и останавливается с пустым экраном cmd. Я должен остановить отладку, и тогда я вижу 10 строк, сообщающих мне, что различные библиотеки DLL загрузились, и последняя строка-это
Программа "[6096] ConsoleDBTest.exe' вышел с кодом -1 (0xffffffff).
Я действительно получал ошибки, указывающие на то, что файл базы данных не может быть найден, и они исчезли, поэтому я подумал, что могу предположить, что дело не в местоположении файла.
Любые предложения, поскольку я должен что-то сделать с этим завтра утром (по австралийскому времени).

Super Superman

Нам нужно будет увидеть ваш исходный код - первое предположение будет заключаться в том, что путь к файлу .mdf неверен.

2 Ответов

Рейтинг:
0

OriginalGriff

Ладно, здесь куча проблем.

Во - первых, ваша база данных не должна находиться в папке исходного кода - в худшем случае, она должна быть в папке Bin/Debug и / или Bin/Release, чтобы ее было легче найти, - или еще лучше в папке с конкретными данными. Это может помочь: Где я должен хранить свои данные?[^]

Во - вторых, использовать его из вашей собственной папки (даже в папке данных) - довольно плохая идея-это означает, что ваша строка подключения должна присоединить базу данных, чтобы SQL мог ее использовать, а это доступно только для разработки в выпусках SQL Server Express-это невозможно в производственных версиях серверного программного обеспечения. Вы должны передать управление БД SQL Server (самый простой способ: создать ее в консоли управления SQL Server) и позволить ей беспокоиться о том, где ее хранить!

Затем вам нужна строка подключения SQL Server, и для этого требуется аутентификация, которая для локального сервера может быть довольно простой, или вам может понадобиться комбинация идентификатора пользователя SQL и пароля для подключения. Это может помочь: Простое создание строки подключения SQL[^]

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


Рейтинг:
0

jcarbuncles

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