jreypalars Ответов: 3

Vb.net | SQL localdb


Привет Кодеры,

Однако я создаю исполняемый файл, требующий функционирования локальной базы данных sql. Мне трудно понять код строки подключения, как только я разверну его на другом компьютере, на котором нет sql server express. Не могли бы вы мне помочь ?

Я думаю, что это было бы легко сделать с помощью Microsoft Access, но MS SQL Server-это необходимая база данных для школы.

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

Это мой текущий код, но он не работает после поиска на нескольких сайтах. Я также попытался сделать uninue имя базы данных до сих пор не работает.

Соединение.Параметр ConnectionString = "Источник Данных=.\Именем sqlexpress; ключевое слово attachdbfilename=|параметр datadirectory|\test_sqlDb.МДФ; базы данных=test_sqlDb;trusted_connection=да;"

Это и есть ошибка:

Необработанное исключение типа "System.Data.SqlClient.SqlException" произошло в System.Data.dll

Дополнительная информация: файлы C:\Program базы данных '\SQL-сервера Microsoft\MSSQL12.Именем sqlexpress\MSSQL данных\данные\test_sqlDb.МДФ' уже существует. Выберите другое имя базы данных.

Не удается прикрепить файл 'C:\Users\user\documents\visual studio 2015\Projects\AccessDb_Test\AccessDb_Test\bin\Debug\test_sqlDb.mdf' как база данных 'test_sqlDb'.

3 Ответов

Рейтинг:
2

OriginalGriff

Две проблемы:
1) Вы подключаете БД - это тестовая функция, которая реализована только в экспресс-версиях SQL Server для целей разработки. Вы не можете использовать ATTACH в производственных версиях SQL Server, так как он использует слишком много ресурсов.
2) Посмотрите на сообщение об ошибке: файл, который вы пытаетесь прикрепить, уже имеет БД с тем же именем в папке данных SQL - он не может быть прикреплен, так как он перезаписывает существующие данные, а SQL не хочет этого делать.


Рейтинг:
11

Maciej Los

Цитата:
как только я разверну его на другом компьютере, на котором нет sql server express.

Если экземпляр SQL server не установлен, вы не можете запустить свою программу, независимо от того, что вы пишете в строке подключения.

У вас есть два варианта, чтобы решить вашу проблему:
1) Создайте один SQL-сервер в локальной/глобальной сети и включите удаленные подключения к нему - настоятельно рекомендую!
или
2) Установите экземпляр SQL server на каждый компьютер, на котором вы хотите развернуть свою программу - вообще не рекомендуется! по нескольким причинам, но самая важная из них: у вас возникнут проблемы с синхронизацией данных.


Итак, перейдите по этой ссылке: Настройка параметра конфигурации сервера удаленного доступа - SQL Server | Microsoft Docs[^]


Рейтинг:
0

RickZeeland

В дополнение к ответу Гриффа вы можете проверить, установлен ли LocalDB из командной строки:

SqlLocalDb info
Более подробная информация здесь: https://www.sqlshack.com/how-to-connect-and-use-microsoft-sql-server-express-localdb/[^]