Использование VC # Я создал приложение для управления персоналом, которое при первом запуске должно запросить у пользователя путь к базе данных (.mdf), которая будет находиться на удаленном компьютере. Результирующий путь может быть что-то вроде
string dbPath = @"P:\remoteComputer\public\StaffTool\ExamplePersonnelDatabase.mdf";
Затем я помещаю эту строку в шаблон строки подключения следующим образом:
string dbConnectTemplate = @"Data Source=.\SQLEXPRESS;AttachDbFilename={0};Integrated Security=True;Connect Timeout=30;User Instance=True";
string dbConnectionString = String.Format(dbConnectionTemplate,dbPath);
Затем я пытаюсь подключиться к базе данных в стиле LINQ to SQL
ManagementDBDataContext db = new ManagementDBDataContext(
dbConnectionString);
В этот момент появляется всплывающее сообщение о том, что
Файл "P: \ remoteComputer \ public \ StaffTool \ ExamplePersonnelDatabase.mdf" находится в сетевом пути, который не поддерживается для файлов базы данных.
Попытка присоединить базу данных с автоматическим именем для файла P: \ remoteComputer \ public \ StaffTool \ ExamplePersonnelDatabase.mdf не удалась. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC.
Поскольку я относительно новичок в базах данных, я совершенно не понимаю этого сообщения. И, очевидно, файл не находится на общем ресурсе UNC.
Есть идеи?
Джим Лэмб рекомендовал мне подключиться к экземпляру SQL-сервера, работающему удаленно. Учитывая, что я использую LINQ to SQL, какой рефакторинг мне нужно сделать, чтобы это произошло? Другие идеи по-прежнему приветствуются, особенно решения «нажми эту кнопку, и все будет работать».
Другая подсказка: коллега сказал, что раньше был какой-то способ работать через Панель управления-> Администрирование-> Источники данных (ODBC), чтобы удаленную базу данных можно было просматривать с моего компьютера, как если бы она была локальной. Коллега не знал больше подробностей, кроме этого.