當前位置:首頁 » 編程語言 » sql導入xml

sql導入xml

發布時間: 2022-05-18 22:03:51

『壹』 sql導入xml文件

我是一千道風在那裡吹過。
還有個個孩子為春天和花園里
你我是獨醉的那一杯,醇入心詩,芳入畫魂,
合著柔雲繞月
我迷失了方向,從軟綿綿的
曾悄悄的飄來哈哈

『貳』 如何將指定位置下的XML文件導入SQL Server

SQLServer2005分解並導入xml文件[@more@]
1. 一次性導入:
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
select * from tmp_tab
2. 先導入到表中varchar(MAX)列,然後再用OPENXML解析,讀出。
-- 使用SINGLE_CLOB參數,tmp_raw中欄位為varcahr(MAX)類型
SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_CLOB) AS x
DECLARE @idoc int;
DECLARE @doc xml;
select @doc = BulkColumn from tmp_raw
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc

『叄』 SQL2008如何用作業將查詢結果導出,以及作業導入XML文件

1、打開 SQL server企業管理器,新建查詢,在窗口中輸入查詢語句並執行。
2、全選查詢的結果,選擇「連同標題一起復制」,然後打開EXCEL,新建Excel表格,進行粘貼即可。

3、或者在全選查詢結果之後,直接選擇「將結果另存為」,選擇對應的保存格式。

4、如果要自動實現這一過程,需要自行編寫程序,連接SQL資料庫,查詢,保存查詢數據到指定格式的文件中。

『肆』 如何用plsql developer 導入xml格式的數據文件

用pl/sql developer導出表的數據時有三種方式:Oracle Export,Sql Insert,pl/sql developer

區別

導出數據到excel文件

excel數據導入到資料庫

PL/SQL Developer是Oracle資料庫中用於導入或導出資料庫的主要工具之一,這里主要介紹如何利用PL/SQL Developer導入和導出資料庫,並對導入或導出時的一些注意事項進行相關說明。1、導出步驟1.1. tools ->export user object 選擇選項,導出.sql文件 說明:導出的是建表語句(包括存儲結構)

1.2. tools ->export tables-> Oracle Export 選擇選項導出.dmp文件 說明:包含三種導出方式,三種方式都能導出表結構以及數據,如下:

第一種是導出為.dmp的文件格式,.dmp文件是二進制的,可以跨平台,還能包含許可權,效率也很不錯,用得最為廣泛 。

第二種是導出為.sql文件的,可用文本編輯器查看,通用性比較好,但效率不如第一種,適合小數據量導入導出。尤其注意的是表中不能有大欄位(blob,clob,long),如果有,會提示不能導出(提示如下: table contains one or more LONG columns cannot export in sql format,user Pl/sql developer format instead)。

第三種是導出為.pde格式的,.pde為Pl/sql developer自有的文件格式,只能用Pl/sql developer自己導入導出,不能用編輯器查看。
10
2.導入步驟:a.tools->import tables->SQL Inserts 導入.sql文件。b. tools->import talbes->Oracle Import然後再導入dmp文件。 說明:和導出類似,另外,導入之前最好把以前的表刪除,當然導入另外資料庫除外。

『伍』 將XML文件導入SQL

首先將XML拆解出來:

declare @變數名A XML

set @變數名A='XML內容COPY進來,如果有中文的話,在單引號前加 N '
declare @變數名B int
exec sp_xml_preparedocument @變數名B output,@變數名A

接下來就是把XML數據形成表在SQL裡面顯示出來= =:

舉個例子,
XML內容是:
<ROOT>
<Customer CustomerID="C01" Name="Samsung">
<Order OrderID="O01" Qty="1000">
<OrderDate>1998-1-1</OrderDate>
<Description>100 missing</Description>
</Order>
<Order OrderID="O02" Qty="200">
<OrderDate>2000-1-1</OrderDate>
<Description>10 smaller than specified size</Description>
</Order>
</Customer>
<Customer CustomerID="C02" Name="Nokia">
<Order OrderID="O03" Qty="500">
<OrderDate>2000-1-1</OrderDate>
<Description>Perfect this time</Description>
</Order>
<Order OrderID="O04" Qty="100"></Order>
</Customer>
</ROOT>

那麼你的代碼就應該這么打:
select*from
openxml(@變數名B,'/ROOT/Customer/Order',1)
with
(
訂單編號 char(3) '@OrderID',
數量 int '@Qty',
訂單日期 date 'OrderDate',
描述 varchar(30) 'Description'
)

with後面是表裡的內容,想要什麼就就打什麼,單引號內是你引用的東西。

最後釋放內存:

exec sp_xml_removedocument @變數名B

呃。。不懂再問把,

『陸』 在xml文件中插入sql語句

public class XMLTest
{
private Hashtable<String, String> hashtable;
private Vector sqlv=new Vector(); //用來存放Hashtable
public Hashtable getSQL(){
hashtable=new Hashtable<String, String>();
try{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbf.newDocumentBuilder();
//path得到的值為 D:\tomcat5520\bin 即%tomcat%\bin目錄
String path=System.getProperty("user.dir");
System.out.println("在XMLTest.java文件中列印user.dir的值為--"+path);
int pos=path.lastIndexOf("\\");
//下面這條語句得到的是 目錄%tomcat%
path=path.substring(0,pos);
Document doc=db.parse(path+"/webapps/WebRoot/WEB-INF/sql-config.xml");

Element root=doc.getDocumentElement();
NodeList list=root.getElementsByTagName_r("sql-info");
for(int i=0;i<list.getLength();i++){
//得到第i個sql-info節點元素
Element name=(Element)list.item(i);

//在當前的sql-info節點中 取出所有的sql-name對應的節點
NodeList info=name.getElementsByTagName_r("sql-name");
//在當前當前的sql-info節點中 得到sql-name的多個節點,始終只取其中的第一個節點
Element nameelement=(Element)info.item(0);
//在當前當前的sql-info節點中 得到sql-name的多個節點,始終只取其中的第一個節點sql-name對應的文本的值
String namestr=nameelement.getFirstChild().getNodeValue();

//在當前的sql-info節點中 取出所有的sql-value對應的節點
NodeList sql=name.getElementsByTagName_r("sql-value");
//在當前當前的sql-info節點中 得到sql-value的多個節點,始終只取其中的第一個節點
Element sqlelement=(Element)sql.item(0);
//在當前當前的sql-info節點中 得到sql-value的多個節點,始終只取其中的第一個節點sql-value對應的文本的值
String sqlstr=sqlelement.getFirstChild().getNodeValue();
// System.out.println("sql語句為:"+sqlstr);
hashtable.put(namestr,sqlstr); //放入到Hashtable中
}
}catch(Exception e){
System.out.println("讀取sql-config.xml "+e.getMessage());
}
return hashtable;
}

public void addHashtable(){
if(sqlv==null)
sqlv=new Vector();
Hashtable ht=getSQL(); //得到配置文件的Hashtable
sqlv.add(ht);
}

public Hashtable getHashtable(){
Hashtable ht=null;
if(sqlv==null)
sqlv=new Vector();
if(sqlv.isEmpty()){
addHashtable();
}
ht=(Hashtable)sqlv.get(0);
return ht;
}

public static void main(String[] args) throws Exception
{

XMLTest xt=new XMLTest();
Hashtable ht=xt.getSQL();
System.out.println(ht.get("在途"));
}
}

『柒』 xml文件導入sql資料庫

SQLServer2005分解並導入xml文件[@more@]
1. 一次性導入:
DECLARE @idoc int;
DECLARE @doc xml;
SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_BLOB) AS x
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc
select * from tmp_tab
2. 先導入到表中varchar(MAX)列,然後再用OPENXML解析,讀出。
-- 使用SINGLE_CLOB參數,tmp_raw中欄位為varcahr(MAX)類型
SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarInstryCodes.xml', SINGLE_CLOB) AS x
DECLARE @idoc int;
DECLARE @doc xml;
select @doc = BulkColumn from tmp_raw
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)
WITH
(
InstryCode varchar(10)
,InstryGlobalId varchar(10)
,InstryName varchar(100)
,SectorCode varchar(10)
,SectorGlobalId varchar(10)
,SectorName varchar(100)
,SuperSectorCode varchar(10)
,SuperSectorName varchar(100)
,GroupCode varchar(10)
,GroupName varchar(100)
,CountryId varchar(3)
)
EXEC sp_xml_removedocument @idoc

『捌』 xml文件如何寫入sql資料庫

sqlserver2005分解並導入xml文件[@more@]
1.
一次性導入:
declare
@idoc
int;
declare
@doc
xml;
select
@doc=bulkcolumn
from
openrowset(bulk
n'e:mstarinstrycodes.xml',
single_blob)
as
x
exec
sp_xml_preparedocument
@idoc
output,
@doc
select
*
into
tmp_tab
from
openxml
(@idoc,
'/root/record'/',2)
with
(
instrycode
varchar(10)
,instryglobalid
varchar(10)
,instryname
varchar(100)
,sectorcode
varchar(10)
,sectorglobalid
varchar(10)
,sectorname
varchar(100)
,supersectorcode
varchar(10)
,supersectorname
varchar(100)
,groupcode
varchar(10)
,groupname
varchar(100)
,countryid
varchar(3)
)
exec
sp_xml_removedocument
@idoc
select
*
from
tmp_tab
2.
先導入到表中varchar(max)列,然後再用openxml解析,讀出。
--
使用single_clob參數,tmp_raw中欄位為varcahr(max)類型
select
*
into
tmp_raw
from
openrowset(bulk
n'e:mstarinstrycodes.xml',
single_clob)
as
x
declare
@idoc
int;
declare
@doc
xml;
select
@doc
=
bulkcolumn
from
tmp_raw
exec
sp_xml_preparedocument
@idoc
output,
@doc
select
top
10
*
from
openxml
(@idoc,
'/root/record',
1)
with
(
instrycode
varchar(10)
,instryglobalid
varchar(10)
,instryname
varchar(100)
,sectorcode
varchar(10)
,sectorglobalid
varchar(10)
,sectorname
varchar(100)
,supersectorcode
varchar(10)
,supersectorname
varchar(100)
,groupcode
varchar(10)
,groupname
varchar(100)
,countryid
varchar(3)
)
exec
sp_xml_removedocument
@idoc

『玖』 怎麼利用sqlxml4.0把xml文件導入到sql server

select * from 表名 for xml

以下是詳細介紹:

FOR 子句

FOR 子句用於指定 BROWSE 或 XML 選項(BROWSE 和 XML 是不相關的選項)。
語法

[ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT }
[ , XMLDATA ]
[ , ELEMENTS ]
[ , BINARY BASE64 ]
}
]
參數

BROWSE

指定當查看 DB-Library 瀏覽模式游標中的數據時允許更新。如果表包含時間戳列(用 timestamp 數據類型定義的列),表有唯一索引且 FOR BROWSE 選項在 SELECT 語句的最後發送到 SQL Server,則可以在應用程序中瀏覽該表。

說明 在含有 FOR BROWSE 選項的 SELECT 語句中無法使用 <lock_hint> HOLDLOCK。

FOR BROWSE 選項不能出現在用 UNION 運算符聯接的 SELECT 語句中。

XML

指定查詢結果將作為 XML 文檔返回。必須指定下列 XML 模式之一:RAW、AUTO、EXPLICIT。

RAW

獲得查詢結果並將結果集內的各行轉換為 XML 元素,用一般標識符 <row /> 作為元素標記。

測試:
select top 2 圖書編號=BookNo,圖書名稱=BookName from sys_books as圖書信息 FOR XML raw

結果:
<row 圖書編號="B001" 圖書名稱="1"/><row 圖書編號="B002" 圖書名稱="體育報(上海)"/>

AUTO

以簡單的嵌套 XML 樹返回查詢結果。在 FROM 子句內,每個在 SELECT 子句中至少有一列被列出的表都表示為一個 XML 元素。SELECT 子句中列出的列映射到適當的元素特性。
測試:
select top 2 圖書編號=BookNo,圖書名稱=BookName from sys_books as 圖書信息 FOR XML auto

結果:
<圖書信息 圖書編號="B001" 圖書名稱="1"/><圖書信息 圖書編號="B002" 圖書名稱="體育報(上海)"/>

EXPLICIT

指定顯式定義所得到的 XML 樹的形狀。使用此種模式,要求以一種特定的方式編寫查詢,以便顯式指定有關期望的嵌套的附加信息。

XMLDATA

返回架構,但不將根元素添加到結果中。如果指定了 XMLDATA,它將被追加到文檔上。

ELEMENTS

指定列作為子元素返回。否則,列將映射到 XML 特性。

測試:
select top 2 圖書編號=BookNo,圖書名稱=BookName from sys_books as 圖書信息 FOR XML AUTO,ELEMENTS

結果:
<圖書信息><圖書編號>B001</圖書編號><圖書名稱>1</圖書名稱></圖書信息><圖書信息><圖書編號>B002</圖書編號><圖書名稱>體育報(上海)</圖書名稱></圖書信息>

NARY BASE64

指定查詢返回二進制 base64 編碼格式的二進制數據。使用 RAW 和 EXPLICIT 模式檢索二進制數據時,必須指定該選項。這是 AUTO 模式中的默認值。

『拾』 請教向sql資料庫插入xml文件怎麼 弄的

把欄位類型定義為xml再插入就可以了

熱點內容
移動端打吃雞要什麼配置 發布:2025-05-15 10:48:16 瀏覽:756
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:993
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:527
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:269
湖人雙核配置哪個最好 發布:2025-05-15 10:09:48 瀏覽:979
手機熱點密碼怎麼查看 發布:2025-05-15 09:54:47 瀏覽:108
生意發力雲存儲 發布:2025-05-15 09:54:45 瀏覽:616
編寫一個shell腳本添加用戶 發布:2025-05-15 09:54:43 瀏覽:506
資料庫查看錶命令 發布:2025-05-15 09:52:27 瀏覽:914
p30是不是自帶方舟編譯器 發布:2025-05-15 09:51:48 瀏覽:599