Krzysiek P. informatyk
Temat: Import danych z Excela do tabeli MS SQL
WitamProszę o podpowiedź w jaki sposób zrealizować n.w ćwiczenie.
Celem ćwiczenia jest zaimportowanie do tabeli MS SQL rekordów na podstawie wybranych kolumn w arkuszu excel.
tzn w arkuszu znajdują się dwie kolumny z datami
1. DataOd
2. DataDO
Chciałbym odczytać kolumny z excela i dla każdego wiersza z arkusza w bazie zapisać tyle rekordów ile wynosi różnica w ilości dni między tymi datami.
Dostępne narzędzia
1. Integration Services
2. Procedury składane
Wykonałem już procedurę składowaną, która jednak dodaje pojedynczy rekord przy wywołaniu.
CREATE PROCEDURE xxx (@DataOd as varchar(9), @DateDo as varchar(9))
AS
DECLARE @inOD DATETIME ;
DECLARE @inDO DATETIME ;
DECLARE @Krok DATETIME ;
set @inOD = convert(datetime,@DataOd, 120)
set @inDO = Convert(datetime,@DateDo, 120);
set @Krok = @inOD
declare @ildni int
WHILE DATEDIFF(day,@krok,@inDO+1) > 0
BEGIN
IF (DATEPART(dw,@krok) < 6)
BEGIN
INSERT INTO ...............;
END
SET @krok = @krok + 1;
END
GO
będę wdzięczny za wszystkie sugestie i propozycję rozwiązania tego problemu.