我使用sql express数据库做了一个单机版的应用程序.app.config配置如下;
<add name="Connection" connectionString="Data Source=.\SQLEXPRESS;DataBase=F:\Consume\bin\Debug\Data\data.mdf;Integrated Security=True;" providerName="System.Data.SqlClient"/>
数据库库文件放在应用程序所在目录中的Data文件夹下.安装以上的配置应用程序运行正常,但是不尽如人意的是数据库文件路径是一个绝对路径,我使用相对路径Data\data.mdf老是出错.
假如要安装这个程序,那么别人安装后不是还要重新配置一下连接,谁有没有好的办法解决这个问题,不过还是不想使用在运行的时候得到应用程序所在的路径加上数据库文件名的方式.因为在程序运行的时候还想把数据库文件挂到sql上再连到sql服务器上.
应用程序加载的时候先识别程序所在的绝对目录“PhysicalApplicationPath ”,然后再加上你的Data/..等信息。这样程序根据修改后的connectionString修改app.config。呵呵。
介绍四种方法吧
1.架数据库服务器
2.用程序动态拼路径
3.把路径配置到Config中,用程序进行相关获取调用。
4.(如果是单机版)直接把mdf放在IIS文件夹中,用程序调用即可
Database=|DataDirectory|\data.mdf
其中的|DataDirectory|就是Data文件夹,在WEB下是APP_DATA文件夹,会自动引用过去的吧
楼上正解