最近做了個小工具,要使用sqlite和sqlserver,後台的表結構都一樣。原來程式執行時無法做到同時使用2個庫。後來找了些資料,整理了下。
hibernate.cfg.config內容如下,第乙個是sqlite配置,第二個是sqlserver配置
<?xml version="1.0" encoding="utf-8"?>
nhibernate.driver.sqlite20driver
data source=d:\code\summarytool\csplugin\bin\debug\test.db;version=3;new=false;
nhibernate.dialect.sqlitedialect
true=1;false=0
true
true
nhibernate.connection.driverconnectionprovider, nhibernate
false
nhibernate.driver.sqlclientdriver
server=(local);initial catalog=***;integrated security=sspi;user id=***;password=***
true
nhibernate.dialect.mssql2000dialect
c#用字典管理sessionfactory,呼叫的時候使用getsession(「sqlserver」)或者getsession(「sqlite」)即可
public static isession getsession(string strkey)
}xmltextreader xtr = new xmltextreader(new stringreader(xn.outerxml));
m_configurationtmp.configure(xtr);
m_configurationtmp.addassembly("servicecoremodel");
mdic_sessionfactory[strkey] = m_configurationtmp.buildsessionfactory();}}
}return mdic_sessionfactory[strkey].opensession();
}業務物件對映(使用ormcodegenerator2.0.exe,但是需要少量修改,不能直接用):
public class fileinfor
//public diskinfor(int id, float amount)
//#endregion
#region 成員
private string guid;
private string userid;
private string myop;
private string mydate;
private string filepath;
private double filesize;
private string suffix;
#endregion
#region 屬性
public virtual string guid
set
}public virtual string userid
set
}public virtual string myop
set
}public virtual string mydate
set
}public virtual string filepath
set
}public virtual double filesize
set
}public virtual string suffix
set
}#endregion}}
redis 多資料庫
一台伺服器上都快開啟200個redis例項了,看著就崩潰了。這麼做無非就是想讓不同型別的資料屬於不同的應用程式而彼此分開。那麼,redis有沒有什麼方法使不同的應用程式資料彼此分開同時又儲存在相同的例項上呢?就相當於mysql資料庫,不同的應用程式資料儲存在不同的資料庫下。redis下,資料庫是由乙...
redis 多資料庫
一台伺服器上都快開啟200個redis例項了,看著就崩潰了。這麼做無非就是想讓不同型別的資料屬於不同的應用程式而彼此分開。那麼,redis有沒有什麼方法使不同的應用程式資料彼此分開同時又儲存在相同的例項上呢?就相當於mysql資料庫,不同的應用程式資料儲存在不同的資料庫下。redis下,資料庫是由乙...
thinkphp連線多資料庫
在資料庫檔案中設定一下內容 return array 資料庫配置資訊 預設連線這乙個 db type mysql 資料庫型別 db host 127.0.0.1 伺服器位址 db name test1 資料庫名 db user root 使用者名稱 db pwd 密碼 db port 3306,埠 ...