前段時間讓研究如何動態建立資料來源,關於這個我們討論出有兩種方案,一種是將資料來源放到persistence.xml檔案中,然後在persistence.xml中動態新增節點,**中根據不同的unitname建立不同的entitymanager。一種是資料來源放到jboss裡,通過jboss的api動態新增資料來源節點,然後在persistence.xml中動態新增節點,**中根據不同的unitname建立不同的entitymanager。
方案一:1.將在jboss裡的資料來源連線放到persistence.xml檔案中
org.hibernate.ejb.hibernatepersistence
2.通過dom4j在persistence.xml檔案中在新增一套節點
/**
* 操作dom4j建立xml資料來源
* * @param name 持久化名稱 資料庫名稱
* @throws documentexception 異常
* @throws ioexception 異常
*/public boolean adddatasourcexml(string name) throws documentexception, ioexception catch (exception e)
return flag;
}
3.將新增的節點格式化,為什麼有這一步呢,是因為上面新增的xml節點,jboss不重啟情況下不識別,但是不管對該xml檔案做任何操作之後就可以讀取出來了。
public boolean formatxml() throws documentexception, ioexception catch (exception ex)
return flag;
}
4.建立資料庫,切換資料庫。切換資料庫就是從persistence.xml檔案裡讀取剛新增的unit單元,create乙個entitymanager就行。
/**
* 建立資料庫
* * @param name
* @return
*/public boolean createdatabase(string name) catch (exception e)
return flag; }
/** * 切換資料庫
* * @param name
* @return
*/public boolean switchdatasource(string name) catch (exception e)
return flag;
}
總結,方案一就是往persistence.xml檔案裡建立了一套資料庫連線節點,然後用sql語句建立資料庫,接著建立乙個entitymanager。雖然效果達到了,但是容器事務就不能保證了。
動態建立ODBC ACCESS資料來源
unit linkdbaccess inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,registry,extctrls type tlinkdb info...
動態建立資料來源問題
動態建立資料來源問題 delphi windows sdk api 下面 是動態建立odbc資料來源 請問要把下面 加在那個地方才不會出錯,我加在工程檔案裡也出錯,加在單元檔案裡也出錯,function getwinsyspath string var buf array 0.255 of char...
JBOSS中配置MSSQL資料來源
1 去d jboss 5.0.0.ga jdk6 jboss 5.0.0.ga docs examples jca 目錄下找到mssql ds.xml檔案,修改其中的引數,包括連線名稱 使用者名稱 密碼等。jcuckoo ds jdbc microsoft sqlserver localhost 1...