jdbc:mysql:
而對於oracle,則只需要直接給出url就可以了。
檢視了一下dbunit的原始碼,flatxmldataset的write方法有三種形式:
public static void write(idataset dataset, writer writer)
public static void write(idataset dataset, writer writer, string encoding)
public static void write(idataset dataset, outputstream out)
如果傳入outputstream物件,就會有問題(具體原因待查),而如果傳入filewriter,則一切正常:
idataset fulldataset = connection.createdataset();
flatxmldataset.write(fulldataset, new filewriter(\」full.xml\」), \」gb2312\」);
encoding引數可以不指定,dbunit會自動判斷,在我的機器上,最後生成的xml,encoding是\」gb1030\」。
另一方面,如果使用build指令碼來實現匯出功能,則會遇到一些麻煩:
首先,對於mysql的url字串,如果不將&替換成&,則會遇到the reference to entity \」characterencoding\」 must end with the \』;\』 delimiter的錯誤。
其次,通過查詢dbunit的原始碼發現,dbunit task中的export,是使用outputstream作為flatxmlwriter的傳入引數的:
outputstream out = new fileoutputstream(_dest);
flatxmlwriter writer = new flatxmlwriter(out);
writer.setdoctype(_doctype);
writer.write(dataset);
不得已,只好將其改為filewriter的,重新打包後即可徹底解決中文亂碼的問題了。
**:
匯出資料庫
exp 引數例項 匯出整個例項 exp wjh orcl file wjh.dmp log wjh.log full y consistent y direct y wjh應具有dba許可權 匯出某個使用者所有物件 exp wjh orcl file wjh.dmp log wjh.log owne...
MySQL匯出匯出資料庫
預設匯出路徑為mysql的內建路徑,因此這裡都加上了 documents 作為路徑。匯出整個資料庫 mysqldump u root p test documents test.sql 匯出資料庫乙個表 mysqldump h hostname u username p password datab...
Oracle資料庫匯入和匯出以及出現的問題
資料庫匯出 1 將資料庫 test 完全匯出 使用者名稱 system 密碼manager 匯出到d daochu.dmp 中exp system manager test file d daochu.dmp full y 2 將資料庫中 system 使用者與sys 使用者的表匯出 exp sys...