Det kræver, at du har tekstfilerne placeret et bestemt sted således, at SQLServeren kan finde filerne.
Følgende script virkede hos mig:
--Set up linked server EXEC sp_addlinkedserver txtsrv, \'Jet 4.0\', \'Microsoft.Jet.OLEDB.4.0\', \'c:\\test\', NULL, \'Text\' GO
--Set up login mappings EXEC sp_addlinkedsrvlogin txtsrv, FALSE, \'sa\', \'Admin\', NULL GO
--Select values from textfile into table Navne insert into Navne (Latinsk, Skandinavisk) SELECT Latinsk, Skandinavisk FROM txtsrv...[test#txt]
--Remove linked server EXEC sp_dropserver txtsrv, \'droplogins\' go
Det første statement opretter en linked server til det bibliotek, som indeholder tekstfilerne. Det kræver, at der er installeret Jet med Text-ISAM (mstext40.dll - AFAIR) på serveren.
Næste statement mapper sa-login op til jet Admin-login
Tredje statement udfører selve BULK INSERT rutinen. Den kan godt tage sin tid - især, hvis der er mange data i textfilen.
Sidste statement dropper den linkede server igen.
(Jeg har prøvet det på SQL 2K, så jeg tør ikke garantere, at det virker på SQL Server 7).
Du skal evt. ændre filnavne og tabelnavne så det passer til dit formål
Scriptet er kørt gennem Query Analyser. Det kan ikke lægges i en stored procedure (jeg kunne i hvert fald ikke få delen med at linke serveren til at fungere i stored prodecures).
En anden mulighed er at gennemføre det via VB og en connection til SQL Server og bruge connection-objektets Execute metode til at gennemføre de fire statements.
[Test.txt] er navnet på filen. Den svarer til tabelnavnet [Test#txt] i insert into statementet i første svar. De øvrige oplysninger fortæller om filens udseende med skilletegn, tegnsæt og kolonne-informataion.
-------------------------- Server: Msg 207, Level 16, State 3, Line 3 Invalid column name \'Skandinavisk\'. Server: Msg 207, Level 16, State 1, Line 3 Invalid column name \'Latinsk\'. ---------------------------
Det virker heller ikke som om det gør nogen forskel, om Schema.ini findes i samme mappe som txtfilen eller ikke.
Prøv at søge efter sp_addlinkedserver i hjælpen til din SQL Server 7. Jeg ved ikke, om der er forskelle i den måde, linkede servere bruges på i SQL Server 7.
Inden, jeg fik shema.ini til at ligge i mappen, blev filen tolket med første linie som feltnavn.
Col1 og Col2 linierne er vigtige, da de giver feltnavnene i text-filen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.