我無法使用SSIS
讀取XML
文件。我的目標是讀它,然後將數據插入到MSSQL
數據庫(這將是一個查找表)SSIS - 無法讀取XML - 該文件正在被另一個進程使用
這是我的數據流到目前爲止
其中工藝「閱讀USUARIOS」 (以英文閱讀用戶)是負責閱讀XML的人。 xml文件的一個例子是
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NewsItemsTable>
<NewsItemRow>
<ID>1</ID>
<Edad>28</Edad>
<Estado_Civil>Soltero</Estado_Civil>
<Sexo>F</Sexo>
<Provincia>Ciudad Autonoma Buenos Aires</Provincia>
<Localidad>La Paternal</Localidad>
</NewsItemRow>
<NewsItemRow>
<ID>2</ID>
<Edad>28</Edad>
<Estado_Civil>Soltero</Estado_Civil>
<Sexo>F</Sexo>
<Provincia>Ciudad Autonoma Buenos Aires</Provincia>
<Localidad>La Boca</Localidad>
</NewsItemRow>
</NewsItemsTable>
,並(通過SSIS生成)的XSD是
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NewsItemsTable">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="NewsItemRow">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="ID" type="xs:integer" />
<xs:element minOccurs="0" name="Edad" type="xs:short" />
<xs:element minOccurs="0" name="Estado_Civil" type="xs:string" />
<xs:element minOccurs="0" name="Sexo" type="xs:string" />
<xs:element minOccurs="0" name="Provincia" type="xs:string" />
<xs:element minOccurs="0" name="Localidad" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
當我運行這個數據流,我得到XML源XML文件是錯誤被用於另一個過程。我沒有任何其他程序使用它,我甚至重新啓動機器(MS Server 2003),我仍然有同樣的問題。
,並在進度選項卡中的錯誤信息
的翻譯錯誤是
進程無法訪問該文件,因爲它正在使用 by other process
什麼可能導致此問題?我該如何解決它? 我對SSIS很新,所以如果你需要更多的信息,我可以提供。
由於提前
UPDATE 我已經注意到了(因爲我的XML的備份)是當我讀XML首次與ETL它插入了很多假的數據爲空值形式。
那些空都沒有了
什麼可能會造成這個問題之前?可能這與原始問題有關?
嘗試在Windows資源管理器中重命名XML文件以再次檢查它是否正在使用中。然後下載進程資源管理器(http://serverfault.com/questions/1966/how-do-you-find-what-process-is-holding-a-file-open-in-windows),並找出文件的內容打開。這是你的整個包嗎? –
@ Nick.McDermaid是的,我可以重命名XML文件。我有其他的軟件包,但沒有任何其他任務正在讀取任何XML。 –