2013-06-17 2 views
0

У меня есть моя программа с C#, и проблема в том, что я использую «Файл базы данных SQL Server SQL Server (SqlClient)» для моего db, и я хотел сделать его переносимым, потому что если i возьмите весь проект (sln) и передайте его моему другу, чтобы запустить его путь базы данных, конечно, не так.Файл базы данных Microsoft SQL Server (SqlClient) Portable String

Итак, у меня есть database.mdf внутри моего каталога проекта C#, так что мой вопрос, знаете ли вы способ сделать это.

я есть попытаться строки подключения некоторых моделей,

Data Source=.\SQLEXPRESS;AttachDbFilename="D:\blabla\blablaa\blablaaa\blablaaaa\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True 

так я сделал это так

Data Source=.\SQLEXPRESS;AttachDbFilename="..\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\WindowsFormsApplication2\Database1.mdf";Integrated Security=True;User Instance=True 

или

Data Source=.\SQLEXPRESS;AttachDbFilename="..\Database1.mdf";Integrated Security=True;User Instance=True 

Любые предложения.

+0

Возможно, '| DataDirectory |'? http://stackoverflow.com/questions/1409358/ado-net-datadirectory-where-is-this-documented –

ответ

0

Если вы хотите запустить его с карты памяти, например, и ваше приложение работает на карту памяти, то вы могли бы сделать так, чтобы получить текущее местоположение приложения:

Assembly.GetExecutingAssembly () .Location

Затем вы можете использовать это, чтобы найти местоположение файла базы данных, если это также будет исправлено.

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