OriginalGriff
На это есть несколько причин.
Во-первых, только Экспресс-выпуски SQL Server поддерживают подключенные базы данных: это специальный режим "отладки", который запускает новый отдельный экземпляр SQL server для его поддержки. Вы никогда не должны пытаться использовать его для производства, только для развития.
Во-вторых, ваш код требует, чтобы файл находился в каталоге данных, а ваше объяснение говорит, что он находится в папке исполняемого файла.
В-третьих, если ваша БД находится в папке bin/debug, она все равно не будет доступна SQL server, так как не работает под вашим идентификатором пользователя.
Четвертый-если он находится в папке исполняемого файла, то не может быть записан в производство, так как он будет находиться в папке Program Files, которая ограничена на запись, поэтому, когда SQL Server попытается открыть ее для доступа на чтение/запись, он получит нарушение доступа.
Пятое-это то, что ваша строка соединений требует, чтобы экземпляр SQL server был локальным, то есть на том же компьютере, что и клиент. Это означает, что клиент не только должен иметь SQL Server, установленный на каждом компьютере, но и что данные для входа не могут быть разделены между машинами: каждый компьютер будет иметь свой собственный набор Логинов.
Есть и другие вещи, например, вы не должны жестко кодировать строки подключения, потому что это, как правило, вызывает проблемы с первого по пятый выше, но это ваш выбор, а не мой.
Deabae
я установил SQL server express edition, но это ничего не изменило.( это MS SQL server 2012 express LocalDB, ссылка на изображение: http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=2680117458751047859)
что вы имеете в виду под каталогом данных? это та папка, в которой находится папка "bin"?
я установил некоторые sql-компоненты целевого ПК, пожалуйста, смотрите изображение выше.
OriginalGriff
Каталог данных-это то место, где вы указываете, что файл хранится:
AttachDbFilename=|DataDirectory|\SQLDB2mdf.mdf;
Но ты явно не понял, что я сказал, не так ли?
Deabae
конечно,
так...каково ваше рекомендуемое решение для программы, работающей с sql в локальной базе данных?