當前位置:首頁 » 數據倉庫 » xml配置oracle資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

xml配置oracle資料庫

發布時間: 2022-05-15 14:34:19

㈠ XML數據文件怎麼導入到Oracle資料庫

1.准備數據:在excel中構造出需要的數據
2.將excel中的數據另存為文本文件(有製表符分隔的)
3.將新保存到文本文件中的數據導入到pl*sql
在pl*sql中選擇tools--text importer,在出現的窗口中選擇Data from Textfile,然後再選擇Open data file,
在彈出的文件選擇框中選中保存有數據的文本文件,此時將會看到data from textfile中顯示將要導入的數據!

㈡ oracle資料庫怎麼創建XML方案

在oracle中提供了許多內置的程序包,它們用於擴展資料庫的功能。在開發應用程序時,可以利用這些程序包。資料庫用戶sys擁有oracle提供的所有程序包。他們被定義為共有同義詞,並將執行許可權授予了public用戶組,任何用戶都可以訪問它們。其中DBMS_XMLQUERY包用於將查詢結果轉換為XML格式,DBMS_LOB程序包包含雨處理大型對象的過程和函數。下面我們看一下DBMS_XMLQUERY和DBMS_LOB的用法:
SQL> DECLARE
result CLOB;
xmlstr VARCHAR2(32767);
line VARCHAR2(2000);
line_no INTEGER :=1;
BEGIN
result :=DBMS_XMLQUERY.getXml('select empno,empname from employee');
xmlstr :=DBMS_LOB.SUBSTR(result,32767);
LOOP
EXIT WHEN xmlstr IS NULL;
line :=SUBSTR(xmlstr,1,INSTR(xmlstr,CHR(10)-1));
DBMS_OUTPUT.PUT_LINE(line_no || ':' || line);
xmlstr :=SUBSTR(xmlstr,INSTR(xmlstr,CHR(10)+1));
line_no :=line_no + 1;
END LOOP;
END;

在上面的例子中我們聲明了一個CLOB數據類型的result變數,以及VARCHAR2類型的xmlstr和line兩個變數。其中,getXml函數用於將查詢結果轉換為XML格式,SUBSTR函數檢索子字元串,32767值指定要從CLOB數據類型讀取的最大位元組數。檢索到的字元串存儲xmlstr變數中。LOOP塊循環執行,每次從xmlstr中讀取一行。INSTR函數返回一個字元串在另一個字元串首次出現的位置。在此,該函數返回換行符在字元串中的位置,直到遇到下一行。

大家覺得例子的結果能不能讀出我們預期的結果呢?試試就知道了!!!

結果如下:

< ?xml version='1.0'?>
< ROWSET>
< ROW num="1">
< EMPNO>E001</EMPNO>
< EMPNAME>Jane</EMPNAME>
< /ROW>
<ROW num="2">
< EMPNO>E002</EMPNO>
< EMPNAME>John</EMPNAME>
< /ROW>
< ROW num="3">
< EMPNO>E003</EMPNO>
< EMPNAME>Joe</EMPNAME>
< /ROW>
< /ROWSET>

㈢ java 伺服器端掃描文件夾下xml文件,並導入到Oracle資料庫

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class CreateXMLForEnterServelet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
//獲取傳遞過來的值
String databaseType = request.getParameter("select");
String userName = request.getParameter("userName");
String userPassword = request.getParameter("userPassword");
String dbName = request.getParameter("dbName");
String dbSouse = request.getParameter("dbSouces");
int port = Integer.parseInt(request.getParameter("portNum"));
Document doc;
Element root;
try
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String path = request.getRealPath("/");
File file = new File( path + "/" + "DBInfo.xml");
if(!file.exists())
{
doc = db.newDocument();
root = doc.createElement("DBInfo");
doc.appendChild(root);
}
else
{
doc = db.parse(file);
root = doc.getDocumentElement();
}

//添加子節點
Element rowNode = doc.createElement(databaseType);
root.appendChild(rowNode);
Node node = doc.createElement("Driver");
Node nodestr = doc.createElement("ConnectString");
Node serverName = doc.createElement("ServerName");
Node nodeName = doc.createElement("UserName");
Node nodePWD = doc.createElement("PassWord");
Node nodePort = doc.createElement("Port");
Node nodeDB = doc.createElement("DataBase");

rowNode.appendChild(node);
rowNode.appendChild(nodestr);
rowNode.appendChild(serverName);
rowNode.appendChild(nodeDB);
rowNode.appendChild(nodeName);
rowNode.appendChild(nodePWD);
rowNode.appendChild(nodePort);

String nodeValue;//Driver
String nodeConStr;//連接字元串
if(databaseType.equals("ORACLE"))
{
nodeValue = "oracle.jdbc.driver.OracleDriver";
nodeConStr = "jdbc:oracle:thin";
}
else
{
nodeValue = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
nodeConStr = "jdbc:microsoft:sqlserver";
}
Text text = doc.createTextNode(nodeValue);
Text textstr = doc.createTextNode(nodeConStr);
Text textName = doc.createTextNode(userName);
Text textPWD = doc.createTextNode(userPassword);
Text textServer = doc.createTextNode(dbName);
Text textPort = doc.createTextNode(String.valueOf(port));
Text textDB = doc.createTextNode(dbSouse);

node.appendChild(text);
nodestr.appendChild(textstr);
nodeName.appendChild(textName);
nodePWD.appendChild(textPWD);
serverName.appendChild(textServer);
nodePort.appendChild(textPort);
nodeDB.appendChild(textDB);

DOMSource doms = new DOMSource(doc);

StreamResult sr = null;

TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf = tff.newTransformer();
sr = new StreamResult(file);
tf.transform(doms,sr);
out.println("<h1>Create XMLFile Is Ok!!</h1>");
request.getRequestDispatcher("index.jsp").forward(request,response);
}
catch(Exception ex)
{
out.println("<h1>生成 XML 配置文件時出現錯誤:</h1><br/><h4>"+ex+"</h4>");
out.println("<br/><br/>");
out.print("<a href='index.jsp'>【點這里回到首頁】</a>");

}

out.close();

}

//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}

//Clean up resources
public void destroy() {
}
}

㈣ oracle12c在xml裡面怎麼配置地址

定義一個環境變數(我的電腦-->屬性-->高級屬性-->高級-->環境變數裡面新建):TNS_ADMIN=D:Oracleproct12.2.0dbhome_1 etworkadmin

這是我的21c的admin路徑,就可以使用PL/SQL Developer 12

㈤ XML配置好了之後(連接的Oracle),怎麼得到資料庫數據

這個自己定義一個事務就行了。
咱們一般平時開發的時候,可能很少定義事務。
經常使用默認的SQLCA,這個SQLCA都是 你連接的主資料庫,同樣的,你在定義一個transaction,連接的參數,參照SQLCA的參數,把參數都設置成另一個資料庫,就可以了。

㈥ 如何將xml文件導入oralce資料庫

在Oracle表數據和xml文件間相互導入導出的PL/SQL 過程 學校里要求做個題,題目要求是寫出將已知格式xml文件中的數據導入Oracle資料庫、把資料庫中的數據導出成xml文件的過程。

㈦ 使用SSH框架的Hibernate 配置的hbm.xml文件中連接oracle資料庫

hbm.xml一般是配置持久化對象的,一張表對應一個hbm.xml文件。


oracle鏈接配置可以配置在

hibernate.cfg.xml中

<propertyname="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<propertyname="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:orcl</property>
<propertyname="connection.username">test</property>
<propertyname="connection.password">test</property>

或者是將這些配置項放到配置文件中,由spring統一來讀取。

㈧ 如何在windows系統上安裝Oracle資料庫

一、客戶端不支持版本號為6.1的Windows7操作系統
當前任何版本的Oracle客戶端在任何版本的Windows7上都無法正常完成安裝,主要是因為Oracle安裝程序先決條件里的操作系統版本不符合,但是這個問題可以通過修改Oracle安裝源文件里的refhost.xml配置文件來解決。
首先我們要去Oracle官方網站nbsp;下載MicrosoftWindows版本的32位或者64位Oracle安裝包,關於Oracle下載請參閱筆者的另一篇文章《Oracle11g安裝心得》。然後在解壓好的文件夾中找到refhost.xml文件(位置:database\stage\prereq\db,可以使用計算機的搜索功能),打開refhost.xml配置文件並找到節點,接著在節點後面添加以下內容並保存即可:

二、沒有將MicrosoftLoopBackAdapter配置為系統的主網路適配器
1.在Windows7下打開控制面板,點擊「硬體和聲音」選項;
2.在「設備和列印機」組單擊「設備管理器」選項;
3.在Windows7系統的設備管理器,也就是設備管理器的首節點(也就是電腦的計算機名)上右鍵選擇「添加過時硬體」以打開「添加硬體」向導;
4.選擇「下一步」繼續;
5.Windows7系統需手動選擇要添加的硬體;
6.選擇要安裝的硬體類型:網路適配器;
7、在選擇網路適配器面板的左側選擇廠商為Microsoft,右邊會列出相關適配器類型,選擇MicrosoftLoopBackAdapter(Microsoft回環適配器),一路下一步就可以了。

㈨ 使用存儲過程把XML文件插入oracle資料庫

這要看xml數據的結構,和你設置的表結構了;

給一個僅供參考的方法吧!

步驟一:用excel打卡xml數據文件,另存為csv文件

步驟二:在plsql中使用text imporer(或者用sqlloader也行)

㈩ 如何使用sqlloader導入xml文件到Oracle資料庫

在Oracle表數據和xml文件間相互導入導出的PL/SQL過程
學校里要求做個題,題目要求是寫出將已知格式xml文件中的數據導入Oracle資料庫、把資料庫中的數據導出成xml文件的過程。
已知格式xml文件如下:

<?xmlversion="1.0"?>
<PEOPLE>
<PERSONPERSONID="E01">
<NAME>TonyBlair</NAME>
<ADDRESS>10DowningStreet,London,UK</ADDRESS>
<TEL>(061)98765</TEL><FAX>(061)98768</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E02">
<NAME>BillClinton</NAME>
<ADDRESS>WhiteHouse,USA</ADDRESS>
<TEL>(001)640098765</TEL><FAX>(001)640098769</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E03">
<NAME>TomCruise</NAME>
<ADDRESS>57JumboStreet,NewYork,USA</ADDRESS>
<TEL>(001)450067859</TEL><FAX>(001)450067895</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
<PERSONPERSONID="E04">
<NAME>LindaGoodman</NAME>
<ADDRESS>78CraxLane,London,UK</ADDRESS>
<TEL>(061)5456789</TEL><FAX>(061)5456772</FAX>
<EMAIL>[email protected]</EMAIL>
</PERSON>
</PEOPLE>

於是寫出過程如下:
--建表
CREATETABLEPEOPLE
(
PERSONIDVARCHAR2(10)PRIMARYKEY,
NAMEVARCHAR2(20),
ADDRESSVARCHAR2(60),
TELVARCHAR2(20),
FAXVARCHAR2(20),
EMAILVARCHAR2(40)
);
--從xml文件載入數據保存到資料庫的過程
createorreplaceprocerexml2db(xmlfilevarchar2)as
pxmlparser.Parser;
docxmldom.DOMDocument;
nxmldom.DOMNode;
nlxmldom.DOMNodeList;
lennumber;
--根據PERSON結點生成插入SQL語句的過程
functioninsertsql(nodexmldom.DOMNode)returnvarchar2
is
nxmldom.DOMNode;
nlxmldom.DOMNodeList;
lennumber;
nnmxmldom.DOMNamedNodeMap;
isqlvarchar2(200);
begin
--取得PERSON結點所有屬性
nnm:=xmldom.getAttributes(node);
isql:='insertintopeoplevalues(';
isql:=isql||'''';
--取得所有屬性中的第一個屬性,即"PERSONID",並拼接到SQL語句中
isql:=isql||xmldom.getNodeValue(xmldom.item(nnm,0));
isql:=isql||'''';
--取得PERSON結點下的所有結點,准備遍歷
nl:=xmldom.getChildNodes(node);
len:=xmldom.getLength(nl);
foriin0..len-1loop
--取出第i個結點
n:=xmldom.item(nl,i);
isql:=isql||',';
isql:=isql||'''';
--將結點的文本值取出並拼接到SQL語句中
isql:=isql||xmldom.getNodeValue(xmldom.getFirstChild(n));
isql:=isql||'''';
endloop;
isql:=isql||')';
returnisql;
endinsertsql;
begin
p:=xmlparser.newParser;
xmlparser.parse(p,xmlfile);
--轉換xml文件成DOM對像
doc:=xmlparser.getDocument(p);
xmlparser.freeParser(p);
--取出所有PERSON元素
nl:=xmldom.getElementsByTagName(doc,'PERSON');
len:=xmldom.getLength(nl);
--清空people表的內容
deletefrompeople;
foriin0..len-1loop
--取出第i個PERSON元素
n:=xmldom.item(nl,i);
--執行插入該PERSON元素所用的SQL語句
executeimmediateinsertsql(n);
endloop;
commit;
xmldom.freeDocument(doc);
endxml2db;
/
--將資料庫中的數據導出成xml文件的過程
createorreplaceproceredb2xml(xmlfilevarchar2)as
docxmldom.DOMDocument;
retxmldom.DOMNode;
peoplenodexmldom.DOMNode;
--遍歷整個people表的游標
-------------
--將people表中一行記錄轉換為元素
--並插入到DOM文檔對像根結點PEOPLE下的過程
procereaddperson(docxmldom.DOMDocument,peoplexmldom.DOMNode,
v_pidvarchar2,v_namevarchar2,v_addrvarchar2,
v_telvarchar2,v_faxvarchar2,v_emailvarchar2)
is
personelemxmldom.DOMElement;
personnodexmldom.DOMNode;
itemelemxmldom.DOMElement;
itemnodexmldom.DOMNode;
textxmldom.DOMText;
begin
--創建PERSON結點
personelem:=xmldom.createElement(doc,'PERSON');
--設置PERSONID屬性
xmldom.setAttribute(personelem,'PERSONID',v_pid);
personnode:=xmldom.appendChild(peoplenode,xmldom.makeNode(personelem));
--向PERSON結點中添加NAME元素
itemelem:=xmldom.createElement(doc,'NAME');
--將NAME結點添加到PERSON結點中
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
--創建文本結點
text:=xmldom.createTextNode(doc,v_name);
--將文本結點添加到NAME結點下,以構成完整NAME元素
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON結點中添加ADDRESS元素
itemelem:=xmldom.createElement(doc,'ADDRESS');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_addr);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON結點中添加TEL元素
itemelem:=xmldom.createElement(doc,'TEL');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_tel);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON結點中添加FAX元素
itemelem:=xmldom.createElement(doc,'FAX');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_fax);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
--向PERSON結點中添加EMAIL元素
itemelem:=xmldom.createElement(doc,'EMAIL');
itemnode:=xmldom.appendChild(personnode,xmldom.makeNode(itemelem));
text:=xmldom.createTextNode(doc,v_email);
itemnode:=xmldom.appendChild(itemnode,xmldom.makeNode(text));
endaddperson;
begin
--創建一個新DOM文檔對像
doc:=xmldom.newDOMDocument;
--為文檔添加根結點PEOPLE
peoplenode:=xmldom.makeNode(xmldom.createElement(doc,'PEOPLE'));
ret:=xmldom.appendChild(xmldom.makeNode(doc),peoplenode);
--使用游標遍歷people中的每行,生成每一行對應的PERSON元素並添加到PEOPLE根結點中
forv_rowincur_peopleloop
addperson(doc,peoplenode,v_row.personid,v_row.name,
v_row.address,v_row.tel,v_row.fax,v_row.email);
endloop;
--將結果寫入指定文件
xmldom.writeToFile(doc,xmlfile);
xmldom.freeDocument(doc);
enddb2xml;