Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tidak dapat Query file XML dengan OPENXML di SQL

Ada beberapa kekurangan:

  • FROM OPENXML sudah usang dan tidak boleh digunakan lagi (ada pengecualian yang jarang terjadi)

  • XML Anda menyertakan namespace default, yang harus dideklarasikan

  • XPath Anda salah:/Return/ReturnData/IRS990ScheduleHIRS990ScheduleH/ seharusnya /Return/ReturnData/IRS990ScheduleH/

Tapi bagaimanapun Anda harus beralih ke XQuery modern metode. Cobalah seperti ini:

--Ini akan membaca XML menjadi variabel yang dideklarasikan.

--perhatian XML Anda dideklarasikan dengan utf-8 , ini dapat menyebabkan masalah dengan karakter khusus...

DECLARE @x xml
SELECT @x = R
FROM OPENROWSET (BULK 'C:\Users\USER\990\Example.xml', SINGLE_BLOB) AS ReturnData(R);

--Ini adalah kueri, pertama-tama nyatakan namespace, daripada gunakan .nodes() dan .value() :

WITH XMLNAMESPACES(DEFAULT 'http://www.irs.gov/efile'
                          ,'http://www.w3.org/2001/XMLSchema-instance' AS xsi)
SELECT ct.value('(FinancialAssistancePolicyInd)[1]','int') AS FinancialAssistancePolicyInd
      ,ct.value('(FPGReferenceDiscountedCareInd)[1]','int') AS FPGReferenceDiscountedCareInd
      ,ct.value('(FinancialAssistanceAtCostTyp/PersonsServedCnt)[1]','int') AS PersonsServedCnt
      ,ct.value('(FinancialAssistanceAtCostTyp/NetCommunityBenefitExpnsAmt)[1]','int') AS NetCommunityBenefitExpnsAmt
FROM @x.nodes('/Return/ReturnData/IRS990ScheduleH') AS A(ct)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jumlahkan kolom atau kolom baru

  2. Kesalahan fatal:Pengecualian yang tidak tertangkap 'mysqli_sql_exception' dengan pesan 'Tidak ada indeks yang digunakan dalam kueri/pernyataan yang disiapkan'

  3. MySQL:Pilih baris yang hanya memiliki nilai unik kecuali kolom

  4. Menggunakan Java untuk membuat koneksi aman ke MySQL Amazon RDS (SSL/TLS)

  5. Menggambar Banyak Poligon di Google Maps API v3 dari database MySQL