[ adopilot @ 16.06.2008. 12:49 ] @
Poštovani !
Ne znam da li je suludo to pokušati ali bi bilo baš fora da se izvede slijedeće:

Na oficijalnoj web stranici Centralne banke postoji rss feed za kursnu listu:

http://www.cbbh.ba/kursna_bs.xml

Kako mi radimo izvoz i poslove sa carinom većina poslova je vezana za valute i kursove sa ove stranice.

Mi svako jutro moramo uzeti i unjeti podatke na dan za valute sa kojim radimo kako bi mogli ispravno praviti dokumenta i carini iste.

Postoji li šansa da ovaj rss feed s uz pomoć raznih DTS ova i ostali zafrkancija automacki importuje u MS SQL 2005 bazu.

Kako bi bili sigurni da imamo važeće kurseve prema centralnoj banci.

Da li je neko slično radio sa rss-a uvlačio u basu.

Svaki savjet bi dobro došao.

lijep pozdrav
Admir
[ logic_rabbit @ 16.06.2008. 13:30 ] @
Naravno da se moze napraviti i to veoma jednostavno,u C# bi za cas posla mogao isprogramirati aplikaciju koja bi to radila za tebe.
[ jablan @ 16.06.2008. 13:48 ] @
SQL Server od verzije 2000 može da koristi XML parser iz uskladištenih procedura.

Pročitaj sledeći članak:

http://msdn.microsoft.com/en-us/library/ms187897.aspx
[ adopilot @ 17.06.2008. 07:10 ] @
Citat:
logic_rabbit: Naravno da se moze napraviti i to veoma jednostavno,u C# bi za cas posla mogao isprogramirati aplikaciju koja bi to radila za tebe.


Malo je ne poslovno odmah pitati
ali moram radi šefova ,
da li postoji u grubo cijena za vaš trud možete li mi reći koliko bi me to stajalo.

Unaprijed zahvalan.
Lijep pozdrav
Admir
[ logic_rabbit @ 17.06.2008. 14:02 ] @
Mozda najbrzi nacin je da se napravi C# aplikacija koja bi koristeci Linq to Xml iscitavala podatke iz RSS-a i
zapisivala ih u Sql Server 2005 koristeci Linq to Sql.
To bi dobar programer mogao da napravi za otprilike 1 sat mozda cak i krace.
Naravno svako normalan ce ti to naplatiti kao da je to radio 15 dana :-)
Moja logika je nijedna aplikcija ispod 500Eura ma koliko jednostavna bila :-)
[ Koce @ 17.06.2008. 14:37 ] @
lakse ti je da impostujes onaj csv fajl sa sajta, to moze bez problema sa bulk insert

[ adopilot @ 17.06.2008. 14:58 ] @
@koce

Spomentua CSV datoteka ima svaku put različlito ime o odnosu na dan
Tako da bi se download dodatno zakomplkikovao.

Uspio sam podžoniti DTS koji to automacki downloduje XML datoteku uz pomoć VB skripte:
lokalna adresa je C:\\temp\\ado.xml
http://www.filefactory.com/file/896cdf


A sama datoteka izgleda ovako

http://www.filefactory.com/file/fa2e4e

Sada mi još samo treba DataFlow za prenos XML-a u sql
ako stignem i to napraviti postati ću

Lijep pozdrav
Admir


[Ovu poruku je menjao adopilot dana 17.06.2008. u 16:09 GMT+1]
[ Koce @ 17.06.2008. 15:19 ] @
da, znam da ima razlicit naziv svaki dan, ali je lako zakljucti koji je, pretpostavljam da je ono broj KL od pocetka godine...
evo ti, za mene najjednostavnije, rijesenje:

CREATE TABLE [Kursna] (
[Zemlja] [varchar] (50) NULL ,
[Sifra] [char] (3) NULL ,
[OznkaV] [char] (3) NULL ,
[Jedinica] [int] NULL ,
[Kupovni] [decimal](16, 6) NULL ,
[Srednji] [decimal](16, 6) NULL ,
[Prodajni] [decimal](16, 6) NULL
)


i sad samo pustas ovaj skript:

BULK INSERT dbo.[kursna]
FROM 'd:\kl.txt'
WITH
(
FIELDTERMINATOR = ',',
FIRSTROW = 2,
CODEPAGE = 'ACP'
)

select * from kursna

[ adopilot @ 17.06.2008. 23:45 ] @
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
[ BezPanike @ 19.06.2008. 17:59 ] @
Izvinjavam se na OT, ali...

NBS nema RSS feed, ali sasvim lepo umeju da naplate "veb-servis"

http://www.nbs.yu/internet/latinica/16/index.html