Avatar billede bromer Nybegynder
27. september 2006 - 15:34 Der er 5 kommentarer og
2 løsninger

Indsættelse af større datamængder

Hej.

Jeg står overfor at skulle indsætte rigtig mange række i en tabel, og vil meget nødigt gøre dette med almindelige inserts, da det vil tage alt for lang tid. Normalt benytter jeg en Postgresql database, hvor det er muligt at lave en COPY og indsætte data derigennem.

Er der en lignende metode i MS SQl? Jeg har ledt i manualen, men jeg har ikke fundet noget.

Jeg benytter en MS SQL Server 2000.
Avatar billede arne_v Ekspert
27. september 2006 - 23:25 #1
BCP ?

Hvis du bruger parameters / prepared statement og bubdler de mange INSERT
i faa transaktioner, saa boer det ikke vaere saa slemt.
Avatar billede bromer Nybegynder
28. september 2006 - 06:35 #2
Det jeg tidligere har gjort var at indsætte dem via en query analyzer, egentlig primæret fordi jeg ikke har rodet med database adgang for det sprog jeg benytter til at generere data. Måske en mulighed at indsætte dem direkte derefter.

Jeg har prøvet at bruge BCP, men kunne ikke få det til at fungere. Jeg prøver lige igen senere, og ser om jeg har mere held med mig denne gang.
Avatar billede janus_007 Nybegynder
28. september 2006 - 12:34 #3
Hvor mange er mange? Og hvordan er de opbevaret nu?
Avatar billede bromer Nybegynder
29. september 2006 - 10:33 #4
Omkring 700.000. Jeg har dem liggende i en tekstfil pt. Jeg har et tabeldesign, der ligner dette en smule:

create table mytbl (
  id identity(1,1) primary key,
  felt char(10),
  created datetime default current_timestamp
);

Og jeg så en fil med 700.000 værdier for feltet "felt".
Avatar billede teepee Nybegynder
29. september 2006 - 10:59 #5
Hvad med Tools/DTS/Import... vælg Text File som datasource
Avatar billede bromer Nybegynder
01. oktober 2006 - 22:53 #6
Jeg fandt en alternativ løsning på problemet. Hvis arve_v også smider et svar lukker jeg spørgsmålet.
Avatar billede arne_v Ekspert
01. oktober 2006 - 23:18 #7
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester