📄 xmltablespace.java
字号:
package com.icbcsdc.ddlexp.pub.xml.nodeinfo;
import java.io.File;
import java.io.InputStream;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import com.icbcsdc.ddlexp.pub.staticLog.Logger;
import com.icbcsdc.ddlexp.pub.util.FileHandle;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCCnn;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCPool;
import com.icbcsdc.ddlexp.pub.connectionpool.JDBCPoolManager;
/**
* @author zhangyc
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class XMLTablespace extends XMLNode {
String tsType=null;
String extentManagement=null;
String sqlDatTbs="SELECT FILE_NAME,BYTES/1024/1024,AUTOEXTENSIBLE FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=?";
String sqlTmpTbs="SELECT FILE_NAME,BYTES/1024/1024,AUTOEXTENSIBLE FROM DBA_TEMP_FILES WHERE TABLESPACE_NAME=?";
ArrayList datFiles=new ArrayList();
public XMLTablespace(String tbsName,String tsType,String extMgr){
this.name=tbsName;
this.tsType=tsType;
this.extentManagement=extMgr;
}
public XMLTablespace(String tbsName){
this.name=tbsName;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getType()
*/
public int getType() {
return XMLNode.XML_TABLESPACE;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#refresh()
*/
public void refreshDDLInfo() throws Exception{
this.datFiles.clear();
JDBCPool cnn=null;
//try {
XMLDatabase db=this.getDatabase();
if(db!=null) cnn = db.getConnPool();
else return;
String sqlTbs=null;
//System.out.println(this.getTsType());
if(this.getTsType().trim().equals("TEMPORARY"))
sqlTbs=sqlTmpTbs;
else
sqlTbs=sqlDatTbs;
//System.out.println(sqlTbs);
//获取schema列表
PreparedStatement pStmt=cnn.prepareStatement(sqlTbs);
pStmt.setString(1,this.getName());
ResultSet rsDatFiles=pStmt.executeQuery();
while(rsDatFiles.next()){
OracleDatFile datfile=new OracleDatFile(rsDatFiles.getString(1),
rsDatFiles.getLong(2),
rsDatFiles.getString(3));
//System.out.println("DatFile:"+datfile.getFileName());
this.datFiles.add(datfile);
}
rsDatFiles.close();
pStmt.close();
/**
} catch (Exception e) {
Logger.log(Logger.ERROR,e.getMessage());
}
**/
}
/**从数据库中获取数据对象比较后的结果*/
public void refreshChangedProperties(){
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#refresh()
*/
public void refresh() throws Exception{
refreshNodeNeedAccessDB();
//super.refresh();
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#chkChildType(XMLNode)
*/
public boolean chkChildType(XMLNode node) {
return false;
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getXmlStream()
public InputStream getXmlStream() {
return null;
}
*/
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getSqlDDL()
*/
public String getSqlDDL() {
return this.getNoSchemaDDLStr();
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getSqlDDL()
*/
public String getSqlDDLWithoutName() {
String sqlddl=this.getNoSchemaDDLStr();
int start=sqlddl.indexOf("\" ");
return sqlddl.substring(start+1);
}
/**
* @see com.icbcsdc.ddlexp.pub.xml.nodeinfo.XMLNode#getSqlDDL()
*/
public String getSqlDDLWithoutNameReplaceDatDir(String datDir) {
String sqlddl=this.getSqlDDLWithoutName();
ArrayList list=this.getDatFiles();
for(int i=0;i<list.size();i++){
OracleDatFile datFile=(OracleDatFile)list.get(i);
File oldfile=new File(datFile.getFileName());
File newfile=new File(datDir,oldfile.getName());
String regex=null;
if(this.getDatabase().getPlatform()==XMLDatabase.WINDOWS){
regex=FileHandle.replaceWindowsFileSeperator(oldfile);
}else{
regex=FileHandle.replaceUnixFileSeperator(oldfile);
}
//System.out.println("regex:"+regex);
String replace=null;
if(this.getDatabase().getPlatform()==XMLDatabase.WINDOWS){
replace=FileHandle.replaceWindowsFileSeperator(newfile);
}else{
replace=FileHandle.replaceUnixFileSeperator(newfile);
}
//System.out.println("replace:"+replace);
//System.out.println(sqlddl);
sqlddl=sqlddl.replaceAll(regex,replace).trim()+"\n";
//System.out.println(sqlddl);
}
return sqlddl;
}
public static void main(String[] args) {
}
/**
* Returns the extentManagement.
* @return String
*/
public String getExtentManagement() {
return extentManagement;
}
/**
* Returns the tsType.
* @return String
*/
public String getTsType() {
return tsType;
}
/**
* Returns the datFiles.
* @return ArrayList
*/
public ArrayList getDatFiles() {
return datFiles;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -