2013-07-03 2 views
3

Я очень новичок в SQL и сделал небольшую программу, в которой пользователь может ввести некоторые данные, нажать «Отправить», а затем данные сохраняются в таблице в базе данных.Копирование локальной базы данных с одного компьютера на другой

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

+0

Вы хотите, чтобы переместить базу данных, а также и для доступа к локальной базе данных с компьютера вашего друга? – ElDog

ответ

1

Прежде всего, вам необходимо установить SQL Server на свой компьютер. Как только это будет сделано, вы можете получить соответствующую строку подключения. Обратите внимание, что для строки «Имя сервера» в строке подключения, если вы используете SQL Express, вместо использования «localhost» или имени экземпляра сервера (например, «MyMachine»), вы должны использовать «localhost \ SQLEXPRESS»,/'MyMachine \ SQLEXPRESS.

После настройки экземпляра SQL Server на новом компьютере, чтобы скопировать требуемую базу данных, сначала отсоедините базу данных, чтобы избежать любого повреждения. Теперь вы можете просто скопировать файл с вашего компьютера на свой компьютер и пройти обычный процесс вложения с помощью SQL Server Management Studio (SQLMS).

Надеюсь, это поможет.

+0

Звучит неплохо, спасибо большое! Я попробую это –

1

Вы можете использовать SQL CE или другие файловые базы данных. Таким образом, вам необходимо установить SQL CE (вы можете включить установщик SQl CE в свой программный установщик) на целевом компьютере, после чего вы сможете легко скопировать db-файл с вашего компьютера на целевой компьютер.

Кроме того, вы можете использовать относительный путь к БД-файл из вашего ехе файла вместо строки фиксированной связи:

string dbDirPath=Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"DB"); 
private const string CONN_STR_TEMPLATE = "Data Source={0};Persist Security Info=False;"; 
string dbFilePath = Path.Combine(dbDirPath, "my.sdf"); 
_connStr =String.Format(CONN_STR_TEMPLATE,dbFilePath); 
+0

Большое спасибо за ваш ответ! Я тоже попробую! –

0

Вы не можете просто скопировать базу данных, так как база данных SQL Server не является самостоятельной базы данных в SQL Compact выпуск/MS Access. Вы можете настроить маршрутизатор для удаленного экземпляра SQL Server, доступ через Интернет с помощью переадресации порта

Accessing SQL Server Instance through NAT

Смежные вопросы