在一个项目中,需要同时调用多个数据库中的信息,在C#的windows 程序中,如果使用微软企业类库的data access application block。
一般情况下在App.config中写入下面的内容,就可以访问指定的DB数据库,如果想访问另一个数据库DB1,那需要怎么办,或者有什么变通的办法
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>
</configSections>
<connectionStrings>
<add name="sqlconnstr" providerName="System.Data.SqlClient" connectionString="server=localhost;Integrated Security=SSPI;database=db"/>
</connectionStrings>
<dataConfiguration defaultDatabase="sqlconnstr"/>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
谢谢大家!
一般情况下在App.config中写入下面的内容,就可以访问指定的DB数据库,如果想访问另一个数据库DB1,那需要怎么办,或者有什么变通的办法
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>
</configSections>
<connectionStrings>
<add name="sqlconnstr" providerName="System.Data.SqlClient" connectionString="server=localhost;Integrated Security=SSPI;database=db"/>
</connectionStrings>
<dataConfiguration defaultDatabase="sqlconnstr"/>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
谢谢大家!
<connectionStrings>
<add name="DB1" connectionString="server=127.0.0.1;database=DB1;uid=123456;pwd=123456" providerName="System.Data.SqlClient"/>
<add name="DB2" connectionString="server=127.0.0.1;database=DB2;uid=123456;pwd=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>C# 代码
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
using System.Data.Common;string sql = "SELECT * FROM [Table1]";
Database db = DatabaseFactory.CreateDatabase("DB1");// 切换DB2只要把DB1改成DB2
DbCommand dbCommand = db.GetSqlStringCommand(sql);
using (IDataReader dataReader = db.ExecuteReader(dbCommand))
{
if(dataReader.Read())
{
// to do something
}
}