2016-11-04 33 views
1

我有C#.NET Web应用程序,数据访问层的dll在WPF Windows应用程序中引用。这个DAL建立到SQLite的连接。如何获取WPF应用程序的默认路径数据库位置?

我想在任何其他本地计算机上安装WPF应用程序。但SQL数据库位于我的电脑文件夹是这样的:

static SQLiteConnection dbConnection = new SQLiteConnection(@"Data Source=E:\File\DMS\DAL\Model\test.s3db;"); 

我该怎么做?

+1

http://stackoverflow.com/a/10480011/73804 – 0x4f3759df

回答

2

您可以共享文件"E:\File\DMS\DAL\Model\test.s3db;"从您的网络可到达,然后将您的连接字符串更改为像这样的"\\192.168.1.100\Model\test.s3db;"(使用IP)或此"\\MachineName\Model\test.s3db;"

警告:您应该设置必要的读/写权限,以便访问其他机器并同时保护您的文件。

+0

我有2个.exe wpf windows应用程序。一个是客户端机器,第二个是管理员机器。而这些机器在通用网络中。关于你的建议,我打算填写一个在安装客户端.exe后添加客户端IP地址的询问窗口。然后使用SQLiteConnectionStringBuilder类将该IP添加到sqlliteconnectionstring。这种做法是好还是包? – lashja

2

你的意思是让应用程序当前目录?如果那样,你可以像这样得到它。

var appDir = Environment.CurrentDirectory; 
var appDir2 = AppDomain.CurrentDomain.BaseDirectory; 

string myDir = @"File\DMS\DAL\Model\test.s3db"; 
var dir = System.IO.Path.Combine(appDir,myDir); 
+1

如果你的意思是'sqlite-connecting-to-remote-file-using-url-c-sharp',sqlite不能做到这一点。你可以在这里看到它http://stackoverflow.com/questions/15612452/sqlite-connecting-to-remote-file-using-url-c-sharp – chengzi