Ne znam da li ste čuli za onu narodnu poslovicu
"Kadija te tuži kadija ti sudi"
ali izgleda da na ovom forumu se svi događa da sami sebi odgovaramo na zadate teme.
Nadamo se da će ES tim jednom napraviti i Blog zajednicu gdije bi se skupljali istomišljenici po nekim temama,
Opet i to mi ne bi puno pomoglo jer sam za HTML pisanje totalni laik pa mi blog i ne bi izgledao kako treba
Helem.
Uspio sam importovati spomenuti XML.
Više nego jednostvno je: Napraviš DTS zatim u Data Flowu odabereš source connection XML popuniš forum o adresi XML sorsa i VXD strukturalnoj datoteci
te zatim napraviš Destination connection
i isamo povučeš zelenu liniju za trasnformation te postaviš mapping i to je to.
Primjer je u prilogu. Morate ga editovati radi štimanja connectiona na sql destination
i morate ado.xsd datoteku staviti u direktorij c:\temp\
ado.xsd je XML Shema File koja govori "kompajleru" kako da su podatci struktuirani u XML datoteci
Prilog:
http://www.fileshost.com/en/file/50308/KURSNA-rar.html
XML datoeka kursne liste je rasparčana na tri tablice.
ide kod u prilogu:
Generisanje tablica
Code:
/****** Table [dbo].[ado_kur_zag] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ado_kur_zag](
[id] [int] NOT NULL,
[naslov] [nchar](250) NULL,
[link] [nchar](250) NULL,
[datum] [nchar](250) NULL,
CONSTRAINT [PK_ado_kur_zag] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Table [dbo].[ado_kur_sdo] ******/
CREATE TABLE [dbo].[ado_kur_sdo](
[id] [int] NOT NULL,
[naziv] [nchar](250) NULL,
[kurs] [nchar](250) NULL,
[zag_id] [int] NULL,
CONSTRAINT [PK_ado_kur_sdo] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ado_kur_sdo] WITH CHECK ADD CONSTRAINT [FK_ado_kur_sdo_ado_kur_zag] FOREIGN KEY([zag_id])
REFERENCES [dbo].[ado_kur_zag] ([id])
GO
ALTER TABLE [dbo].[ado_kur_sdo] CHECK CONSTRAINT [FK_ado_kur_sdo_ado_kur_zag]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'sPOLJNI KLJUČ NA ZAGLAVLJE' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ado_kur_sdo', @level2type=N'CONSTRAINT',@level2name=N'FK_ado_kur_sdo_ado_kur_zag'
GO
/****** Object: Table [dbo].[ado_kur_sif] ******/
CREATE TABLE [dbo].[ado_kur_sif](
[islink] [bit] NULL,
[sifra] [nchar](250) NOT NULL,
[sdo_id] [int] NULL,
CONSTRAINT [PK_ado_kur_sif] PRIMARY KEY CLUSTERED
(
[sifra] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ado_kur_sif] WITH CHECK ADD CONSTRAINT [FK_ado_kur_sif_ado_kur_sdo] FOREIGN KEY([sdo_id])
REFERENCES [dbo].[ado_kur_sdo] ([id])
GO
ALTER TABLE [dbo].[ado_kur_sif] CHECK CONSTRAINT [FK_ado_kur_sif_ado_kur_sdo]
Sada imam prolbem jer je neko ko je radio XML stukturu nije odvajao kursove od texta već je sve to stavio u NCHAR(255) polje
Sada mi vi trebate da T SQL om skupa probamo rasparčati na tri kursa jedan veliki string.
Izgled zapisa importovanog sqla je slijedeći:
ID, [NAZIV], [KURS], [zaglavlje_id]
2 EMU (EUR) Jedinica: 1<br /> Kupovni za devize: 1.95583 <br /> Srednji za devize: 1.95583 <br /> Prodajni za devize: 1.95583 <br /> 1
4 Australija (AUD) Jedinica: 1<br /> Kupovni za devize: 1.184398 <br /> Srednji za devize: 1.187366 <br /> Prodajni za devize: 1.190334 <br /> 1
6 Kanada (CAD) Jedinica: 1<br /> Kupovni za devize: 1.233523 <br /> Srednji za devize: 1.236615 <br /> Prodajni za devize: 1.239707 <br /> 1
8 Hrvatska (HRK) Jedinica: 100<br /> Kupovni za devize: 26.931068 <br /> Srednji za devize: 26.998564 <br /> Prodajni za devize: 27.06606 <br /> 1
10 Češka R (CZK) Jedinica: 1<br /> Kupovni za devize: 0.080637 <br /> Srednji za devize: 0.080839 <br /> Prodajni za devize: 0.081041 <br /> 1
12 Danska (DKK) Jedinica: 1<br /> Kupovni za devize: 0.261576 <br /> Srednji za devize: 0.262232 <br /> Prodajni za devize: 0.262888 <br /> 1
14 Mađarska (HUF) Jedinica: 100<br /> Kupovni za devize: 0.791971 <br /> Srednji za devize: 0.793956 <br /> Prodajni za devize: 0.795941 <br /> 1
16 Japan (JPY) Jedinica: 100<br /> Kupovni za devize: 1.164115 <br /> Srednji za devize: 1.167033 <br /> Prodajni za devize: 1.169951 <br /> 1
18 Litvanija (LTL) Jedinica: 1<br /> Kupovni za devize: 0.565032 <br /> Srednji za devize: 0.566448 <br /> Prodajni za devize: 0.567864 <br /> 1
20 Norveška (NOK) Jedinica: 1<br /> Kupovni za devize: 0.243154 <br /> Srednji za devize: 0.243763 <br /> Prodajni za devize: 0.244372 <br /> 1
Kako dobiti sada float vrijednosti za svaki kurs kupovni,prodajni,srednji
Lijep pozdrav
S poštovanjem