| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | MS-SQL: Import af data fra csv-fil via HTT~ Fra : Steen Andreassen | 
  Dato :  02-05-07 17:15 |  
  |  
 
            Jeg er stødt ind i det problem, at jeg har behov for at importere data fra 
 en CSV-fil der ligger på en web-server.
 I MS-SQL 2000 DTS er der mulighed for import af data fra fil, fra anden 
 DB-server eller via ftp. Men jeg har ikke kunnet finde noget på hvordan man 
 gør det via http.
 Filen kan hentes fra intranettet via en browser med URL'en 
 http://servernavn/sti/til/filen/filnavn.csv
Jeg har kigget lidt på noget activeX i forbindelse med et DTS-job, men er 
 ikke kommet længere.
 Måske skal der kodes en activeX programstump i VB for at hente filen ned til 
 en lokal placering, hvorefter man kan anvende DTS til at importere data fra 
 filen.
 Alle gode råd er mere end velkomne.
 Mvh
 Steen
 
            
              |   |   
            
        
 
            
         
           Peter Lykkegaard (02-05-2007) 
         
	
            | Kommentar Fra : Peter Lykkegaard | 
  Dato :  02-05-07 20:09 |  
  |  
 
            Steen Andreassen wrote:
 > Jeg er stødt ind i det problem, at jeg har behov for at importere
 > data fra en CSV-fil der ligger på en web-server.
 >
 > Alle gode råd er mere end velkomne.
 >
 Hvorfor ikke gå over i den anden grøft og lave en lille applikation der kan 
 hente data via http og pushe ind på SQL serveren vha SQL-DMO?
 Noget ala:
 http://www.freevbcode.com/ShowCode.Asp?ID=1629
- Peter
 -- 
 Hi! I'm a .signature *virus*!
 Copy me into your ~/.signature to help me spread! 
            
              |   |   
            
        
 
            
         
           Steen Andreassen (02-05-2007) 
         
	
            | Kommentar Fra : Steen Andreassen | 
  Dato :  02-05-07 20:42 |  
  |  
 
            Jeg har overvejet enten at hente filen med enten wget for Win32, eller med 
 et lille PERL-script, og derefter køre et DTS-job, men kan godt se fordelen 
 i en bulk-copy, idet data bare skal "Skovles" råt ind i en temporær tabel 
 (ikke en #-tabel, men en tabel lavet til formålet), inden de bliver joinet 
 med andre tabeller.
 /Steen
 "Peter Lykkegaard" <plykkegaard@gmail.com> wrote in message 
 news:4638e1b7$0$47018$edfadb0f@dread16.news.tele.dk...
 > Steen Andreassen wrote:
 >> Jeg er stødt ind i det problem, at jeg har behov for at importere
 >> data fra en CSV-fil der ligger på en web-server.
 >>
 >> Alle gode råd er mere end velkomne.
 >>
 > Hvorfor ikke gå over i den anden grøft og lave en lille applikation der 
 > kan hente data via http og pushe ind på SQL serveren vha SQL-DMO?
 > Noget ala:
 >  http://www.freevbcode.com/ShowCode.Asp?ID=1629
>
 > - Peter
 >
 > -- 
 > Hi! I'm a .signature *virus*!
 > Copy me into your ~/.signature to help me spread!
 > 
            
              |   |   
            
        
 
            
         
            Stig Johansen (03-05-2007) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  03-05-07 04:51 |  
  |   
            Steen Andreassen wrote:
 
 > Jeg har overvejet enten at hente filen med enten wget for Win32, eller med
 > et lille PERL-script, og derefter køre et DTS-job, men kan godt se
 > fordelen i en bulk-copy, idet data bare skal "Skovles" råt ind i en
 > temporær tabel (ikke en #-tabel, men en tabel lavet til formålet), inden
 > de bliver joinet med andre tabeller.
 
 Jeg lavede noget ligninde for en kunde engang.
 Konceptet var, at der 'periodisk' blev leveret en fil, og denne skulle
 efterfølgende opdateres i et DW.
 
 Hmm... lad mig lige tænke lidt tilbage....
 
 Det hele foregik i et job, der blev afviklet 1 gang om dagen, eller på
 anfordring.
 
 Det var ca. følgende jobsteps:
 1) Er der ankommet en ny fil? - Hvis nej afslut jobbet.
 2) Slet arbejdstabel
 3) Importer ny fil (BCP) til arbejdstabel
 4) Udfør en masse SQL til opdatering fra arbejdstabel
 5) Omdøb filen til navn.yymmdd.osv
 
 Filen havde altid samme navn ved 'levering', og blev til sidst omdøbt for at
 undgå dobbelte opdateringer.
 
 Forskellen i forhold til dit koncept er, at de respektive
 regnskabsansvarlige selv lagde filen op på serveren via FTP.
 Automatikken gjorde at IT afdelingen ikke behøvede at blive involveret i den
 månedlige opdatering.
 
 Hvis du erstatter step 1 med wget eller lign., ser det for mig ud som om det
 er ca. det samme du har brug for.
 
 En anden måde som vi også brugte var at oprette filen som en 'ODBCtext
 database', og derefter linke den ind.
 
 På den måde kan du loade filen direkte via SQL statements.
 
 Som du måske bemærker sker det her uden indblanding af DTS. Jeg har fået
 lidt for mange grå hår af at redde mystiske DTS-ting, så jeg undgår dem
 helst.
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
             Steen Andreassen (03-05-2007) 
         
	
            | Kommentar Fra : Steen Andreassen | 
  Dato :  03-05-07 07:03 |  
  |   
            Hej Stig....
 
 Tak for svaret.
 
 Det tyder på, at jeg ikke er helt på vildspor når jeg ikke umiddelbart har 
 kunnet finde noget om direkte import af data via HTTP-protokollen.
 
 Schedulerede du dit job via SQL-agenten, eller via Windows's scheduler ?
 
 Jeg tror at jeg går efter en Win-Batch løsning med wget, kald af et BCP-job, 
 og efterfølgende et kald til min stored procedure, som gør nøjagtig det 
 samme som du fik lavet i sin tid.
 
 Mvh
 Steen
 
 
 "Stig Johansen" <stig_johansen_it_at_=(@)hotmail.com> skrev i en meddelelse 
 news:46395c76$0$90267$14726298@news.sunsite.dk...
 > Steen Andreassen wrote:
 >
 >> Jeg har overvejet enten at hente filen med enten wget for Win32, eller 
 >> med
 >> et lille PERL-script, og derefter køre et DTS-job, men kan godt se
 >> fordelen i en bulk-copy, idet data bare skal "Skovles" råt ind i en
 >> temporær tabel (ikke en #-tabel, men en tabel lavet til formålet), inden
 >> de bliver joinet med andre tabeller.
 >
 > Jeg lavede noget ligninde for en kunde engang.
 > Konceptet var, at der 'periodisk' blev leveret en fil, og denne skulle
 > efterfølgende opdateres i et DW.
 >
 > Hmm... lad mig lige tænke lidt tilbage....
 >
 > Det hele foregik i et job, der blev afviklet 1 gang om dagen, eller på
 > anfordring.
 >
 > Det var ca. følgende jobsteps:
 > 1) Er der ankommet en ny fil? - Hvis nej afslut jobbet.
 > 2) Slet arbejdstabel
 > 3) Importer ny fil (BCP) til arbejdstabel
 > 4) Udfør en masse SQL til opdatering fra arbejdstabel
 > 5) Omdøb filen til navn.yymmdd.osv
 >
 > Filen havde altid samme navn ved 'levering', og blev til sidst omdøbt for 
 > at
 > undgå dobbelte opdateringer.
 >
 > Forskellen i forhold til dit koncept er, at de respektive
 > regnskabsansvarlige selv lagde filen op på serveren via FTP.
 > Automatikken gjorde at IT afdelingen ikke behøvede at blive involveret i 
 > den
 > månedlige opdatering.
 >
 > Hvis du erstatter step 1 med wget eller lign., ser det for mig ud som om 
 > det
 > er ca. det samme du har brug for.
 >
 > En anden måde som vi også brugte var at oprette filen som en 'ODBCtext
 > database', og derefter linke den ind.
 >
 > På den måde kan du loade filen direkte via SQL statements.
 >
 > Som du måske bemærker sker det her uden indblanding af DTS. Jeg har fået
 > lidt for mange grå hår af at redde mystiske DTS-ting, så jeg undgår dem
 > helst.
 >
 > -- 
 > Med venlig hilsen
 > Stig Johansen 
 
 
  
            
             |   |   
            
        
 
            
         
              Peter Lykkegaard (03-05-2007) 
         
	
            | Kommentar Fra : Peter Lykkegaard | 
  Dato :  03-05-07 16:28 |  
  |   
            Steen Andreassen wrote:
 >
 > Schedulerede du dit job via SQL-agenten, eller via Windows's
 > scheduler ?
 Hver har sine charmer
 SQL agenten har mulighed for fejl rapportering, men det kan man placere i 
 det program scheduler starter
 
 - Peter
 
 -- 
 Hi! I'm a .signature *virus*!
 Copy me into your ~/.signature to help me spread! 
 
 
  
            
             |   |   
            
        
 
            
         
              Stig Johansen (04-05-2007) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  04-05-07 03:22 |  
  |   
            Steen Andreassen wrote:
 
 > Hej Stig....
 > 
 > Tak for svaret.
 > 
 > Det tyder på, at jeg ikke er helt på vildspor når jeg ikke umiddelbart har
 > kunnet finde noget om direkte import af data via HTTP-protokollen.
 > Schedulerede du dit job via SQL-agenten, eller via Windows's scheduler ?
 
 Det var et job under SQL agenten.
 
 > Jeg tror at jeg går efter en Win-Batch løsning med wget, kald af et
 > BCP-job, og efterfølgende et kald til min stored procedure, som gør
 > nøjagtig det samme som du fik lavet i sin tid.
 
 Du kan sagtens udføre 'dos' kommandoer i steps under SQL agenten.
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |