在XPO中怎么通过配置文件来读取数据库链接

问题描述
有没有方法管理数据库的路径?我需要在每个客户端创建和使用不同的数据库。主要是,我需要管理 为Firebird,DB2,Pervasive,Access,Postgre,MS SQL Server. 创建不同的数据库。任何例子...

解决方案
通常,数据库连接字符串包括一个数据库文件的路径,你可以允许终端用户在你的应用程序配置文件中改变数据库路径,例如: 

<!--   App.config  -->
<? xml version="1.0" encoding="utf-8" ?>
< configuration >
    
< appSettings >
        
< add  key ="ServerType"  value ="Access"   />
        
< add  key ="Server"  value =""   />
        
< add  key ="Database"  value ="E:data.mdb"   />
        
< add  key ="User"  value =""   />
        
< add  key ="Password"  value =""   />
    
</ appSettings >
</ configuration >


通过AppSettingReader类来获取配置文件中的设置,然后组合一个连接字符串。我们建议你使用Provider类的GetConnectString方法来(在DevExpress.Xpo.DB命名空间)。


using  System.Configuration;
using  DevExpress.Xpo;

private   static   string  GetConnectionString()  {
    AppSettingsReader config 
= new AppSettingsReader();
    
string serverType, server, database, user, password;
    serverType 
= ((string)(config.GetValue("ServerType"typeof(string))));
    server 
= ((string)(config.GetValue("Server"typeof(string))));
    database 
= ((string)(config.GetValue("Database"typeof(string))));
    user 
= ((string)(config.GetValue("User"typeof(string))));
    password 
= ((string)(config.GetValue("Password"typeof(string))));
    
switch(serverType) {
        
case "MSSQL":
            
return DevExpress.Xpo.DB.MSSqlConnectionProvider.GetConnectionString(server, user, password, database);
        
case "Access":
            
return DevExpress.Xpo.DB.AccessConnectionProvider.GetConnectionString(database, user, password);
        
// ... generate connection strings for other providers, e.g. MySql, Firebird, etc.
        default:
            
return Session.GetDefaultConnectionString();
    }

}
在应用程序的入口,连接字符串必须被赋值到DefaultSession对象。
[STAThread]
static   void  Main()  {
    DevExpress.Xpo.Session.DefaultSession.ConnectionString 
= GetConnectionString();
    Application.Run(
new Form1());
}

 

原文地址https://www.devexpress.com/Support/Center/ViewKBIssue.aspx?kbid=A2954&searchtext=access&pgid=ecb3be56-c75a-4166-aa68-cb462cd2dd2b&pid=efd320a2-e35b-4ac0-9f1d-9dd145c062f3

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值