我如何使一个非绝对的连接字符串,所以我的小数据库工作与我发布的c#应用程序

本文关键字:我的 数据库 小数 工作 应用程序 何使一 字符串 连接 | 更新日期: 2023-09-27 17:50:35

我正在做一个跟踪信息的小项目。这个c#应用程序将获取通过CSV/Excel上传的信息并对其进行存储/排序。

我当前的连接字符串是一个绝对路径(关闭u盘)。我担心当我发布它时,数据库连接将无法在随机用户的计算机上工作。

            <add name="PPP_Project.Properties.Settings.Database1ConnectionString"
        connectionString="Data Source=.'SQLEXPRESS;AttachDbFilename=E:'Other PPP Projects'PPP_Project_Test'PPP_Project'Database1.mdf;Integrated Security=True;User Instance=True"
        providerName="System.Data.SqlClient" />

我如何设置这个,以便在应用程序发布时它将工作?

我如何使一个非绝对的连接字符串,所以我的小数据库工作与我发布的c#应用程序

你可以这样做:

Data Source=.'SQLEXPRESS;AttachDbFileName=|DataDirectory|Customers.mdf;Integrated Security=True;User Instance=True

,如下所述。对于winform应用程序,默认的|DataDirectory|与安装应用程序的位置相同。当然,您可以使用一个更嵌套的路径的一部分。如果您想指定其他内容,可以使用AppDomain.SetData方法。

操作连接字符串最简单的方法是使用ConnectionStringBuilder类:

OleStringBuilder = new OleDbConnectionStringBuilder(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:'MyExcel.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';");
OleStringBuilder.DataSource = MapPath(@"~'App_Datav'MyExcelWorksheet.xls");