subsonic 如何使用 动态连接字符串?

cds27 2008-07-07 11:17:06
目前用subsonic写了个程序,连接字符串配置在app.config中,但是由于数据库服务器的IP可能会改变,每次改变后,都要在app.config中修改,然后重新编译。
有什么方法可以实现不编译程序,又能修改连接字符串呢?

能不能不编译app.config?
或者subsnoic从外部文件读取连接字符串,而不是在app.config?
...全文
288 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2008-07-07
  • 打赏
  • 举报
回复
不用修改app.config再重新编译

直接修改"你的exe文件名.exe.config"即可
cds27 2008-07-07
  • 打赏
  • 举报
回复
楼上的兄弟,请告诉我subsnoic怎么直接读取外部的字符串好吗?
zzyhuian06142 2008-07-07
  • 打赏
  • 举报
回复
把连接字符串写在外部txt文件里面,用的时候直接读取就是了
wjp_116 2008-07-07
  • 打赏
  • 举报
回复
你可以把连接字符串放在一个配置文件中,这个配置文件采用XML格式,在程序里实用XMLDocument读取配置文件中的设置值就可以了,以后改Ip就把配置文件的连接字符串改一下就可以了
public CommonDataAccess()
{
string configSection = "NWConfigFileName";
string fileName = ConfigurationManager.AppSettings[configSection];

string applicationDirectory = AppDomain.CurrentDomain.BaseDirectory;
string configFileName = Path.Combine(applicationDirectory, fileName);

ConfigurationUtility config = new ConfigurationUtility(configFileName);

string providerName = config.GetConfiguration("ProviderName");
string connectionString = config.GetConfiguration("ConnectionString");

Console.WriteLine(providerName);
Console.WriteLine(connectionString);

_DataAccess = new DataAccessUtility(providerName, connectionString);
}

<?xml version="1.0" encoding="utf-8" ?>
<configurations>
<config key="ProviderName" value="System.Data.OleDb" cryptography="false" />
<config key="ConnectionString" value="Provider=Microsoft.Jet.OleDb.4.0;Data Source=G:\Northwind.mdb" cryptography="false" />
<config key="databaseType" value="Access" cryptography="false" />
</configurations>

以上是我们学习时写的不知道是否对你有帮助
cds27 2008-07-07
  • 打赏
  • 举报
回复
谢谢hdt啦!

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧