取出dataConfiguration.config里的数据,查询数据库中表的所有信息(如是否是主健等)

来源:互联网 发布:软件信息服务业 规划 编辑:程序博客网 时间:2024/05/01 19:48

 1.取出dataConfiguration.config里的数据,查询数据库中表的所有信息(如是否是主健等)

 

DatabaseSettings databaseSettings = ConfigurationManager.GetConfiguration("dataConfiguration"as DatabaseSettings;
            
string dataBase = this.generateRule_ddl_Database.SelectedValue;
            
if(databaseSettings.Instances[dataBase].DatabaseTypeName =="Sql Server")
            {
                ViewState[
"AlertRuleOorS"= "0";
            }
            
else
            {
                ViewState[
"AlertRuleOorS"= "1";
            }
            
string connectString = databaseSettings.Instances[dataBase].ConnectionString;
            ConnectionStringData connectionStringData 
= databaseSettings.ConnectionStrings[connectString]; 
            
bool isPrimaryKey = false;
            
foreach( ParameterData parameter in connectionStringData.Parameters ) 
            { 
                
switch( parameter.Name.ToLower() ) 
                { 
                    
case "database"
                        ViewState[
"database"= parameter.Value; 
                        
break
                    
case "integrated security"
                        ViewState[
"Security"= parameter.Value; 
                        
break
                    
case "server"
                        ViewState[
"server"= parameter.Value;  
                        
break
                    
case "user id"
                        ViewState[
"userID"= parameter.Value;  
                        
break;
                    
case "password"
                        ViewState[
"password"= parameter.Value;  
                        
break;
                    
case "data source"
                        ViewState[
"dataSource"= parameter.Value;  
                        
break;
                } 
            } 
            DataConfiguration    config;
            
if(ViewState["AlertRuleOorS"].ToString() == "0")
            {
                config 
= new DataConfiguration(DataBaseType.SqlServer ,ViewState["server"].ToString(),
                    ViewState[
"userID"].ToString() ,ViewState["password"].ToString() ,ViewState["database"].ToString() ,null);
            }
            
else
            {
                config 
= new DataConfiguration(DataBaseType.Oracle,null,ViewState["userID"].ToString(),
                    ViewState[
"password"].ToString() ,null,ViewState["dataSource"].ToString());
            }

            IADOBase ado 
= ADOBaseFactory.CreateADOBase(config) ;
            
string table = "";
            
if(ViewState["generateRuleWay"as string == "Script")
            {
                
string[] sql = splitSQL(generateRule_txt_Rule.Text.ToString());
                
if(sql[1].IndexOf(',')!=-1)
                {
                    LogicException le 
= new LogicException("MaintainAlert+BAS00057");
                    JscriptHelper.Alert(le);
                }
                table 
= sql[1].Trim();
            }
            
else
            {
                table 
= this.generateRule_ddl_Table.SelectedValue.Trim();
            }
            DataSchema schema 
= ado.DataSchemaOperator.GetDataSchema(table); 
            StringBuilder primaryKey 
= new StringBuilder();
            
int count = schema.PKeyList.Count;
            
if(count != 0)
            {
                
for(int n = 0;n<count;n++)
                {
                    isPrimaryKey 
= true;
                    primaryKey.Append(schema.PKeyList[n]);
                    primaryKey.Append(
",");
                }
                primaryKey.Remove(primaryKey.Length
-1,1);
                Session[
"primaryKey"= primaryKey;
            }
            
if(!isPrimaryKey)
            {
                LogicException le 
= new LogicException("MaintainAlert+BAS00054");
                JscriptHelper.Alert(le);
                
this.generateRule_btn_PrimaryKey.Visible = true;
                
this.generateRule_lbl_PrimaryKey.Visible = true;
            }
            ViewState[
"check"= "Y";

 

2.dataConfiguration.config

 

   <dataConfiguration>
  
<xmlSerializerSection type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data">
    
<enterpriseLibrary.databaseSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" defaultInstance="OracleDataAccess" xmlns="http://www.microsoft.com/practices/enterpriselibrary/08-31-2004/data">
      
<databaseTypes>
        
<databaseType name="Oracle Database" type="Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDatabase, Microsoft.Practices.EnterpriseLibrary.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        
<databaseType name="Sql Server" type="Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase, Microsoft.Practices.EnterpriseLibrary.Data" />
      
</databaseTypes>
      
<instances>
           
<instance name="UserDataBase" type="Sql Server" connectionString="User Database Connection String" />
        
<instance name="BASDatabase" type="Sql Server" connectionString="BAS Database Connection String" />
        
<instance name="HMSDataBase" type="Sql Server" connectionString="HMS Connection String" />
        
<instance name="CBACDataBase" type="Sql Server" connectionString="CBAC Database Connection String" />
        
<instance name="OracleDataAccess" type="Oracle Database" connectionString="Oracle Database Connection String" />
      
</instances>
      
<connectionStrings>
        
<connectionString name="Oracle Database Connection String">
          
<parameters>
            
<parameter name="Data Source" value="ea21sg3t" isSensitive="false" />
            <parameter name="user id" value="developer" isSensitive="false" />
            
<parameter name="password" value="developer" isSensitive="false" />
          
</parameters>
        
</connectionString>
         
<connectionString name="BAS Database Connection String">
          
<parameters>
            
<parameter name="database" value="BusinessAlert" isSensitive="false" />
            
<parameter name="password" value="sa" isSensitive="false" />
            
<parameter name="server" value="192.168.3.31" isSensitive="false" />
            
<parameter name="user id" value="sa" isSensitive="false" />
          
</parameters>
        
</connectionString>
        
<connectionString name="HMS Connection String">
          
<parameters>
            
<parameter name="database" value="HMS" isSensitive="false" />
            
<parameter name="Integrated Security" value="false" isSensitive="false" />
            
<parameter name="password" value="eptal" isSensitive="false" />
            
<parameter name="server" value="192.168.1.254" isSensitive="false" />
            
<parameter name="user id" value="sa" isSensitive="false" />
          
</parameters>
        
</connectionString>
        
<connectionString name="User Database Connection String">
          
<parameters>
            
<parameter name="database" value="master" isSensitive="false" />
            
<parameter name="password" value="sa" isSensitive="false" />
            
<parameter name="server" value="192.168.3.31" isSensitive="false" />
            
<parameter name="user id" value="sa" isSensitive="false" />
          
</parameters>
        
</connectionString>
        
<connectionString name="CBAC Database Connection String">
           
<parameters>
            
<parameter name="database" value="CBAC" isSensitive="false" />
            
            
<parameter name="password" value="eptal" isSensitive="false" />
            
<parameter name="server" value="192.168.1.254" isSensitive="false" />
            
<parameter name="user id" value="sa" isSensitive="false" />
          
</parameters>
        
</connectionString>
      
</connectionStrings>
原创粉丝点击