Avatar billede webdb Nybegynder
04. december 2005 - 09:20 Der er 7 kommentarer

Hvordan laves komplette inserts som SQL fra MS Enterprise Manager

Jeg har på min egen pc MS Enterprise Manager / MS SQL 2000 og skal have en masse data overført til et webhotels MS SQL database. Webhotellets MS SQL database har dog ikke mulighed for ekstern adgang og alt styres via database webinterface. Fra webinterfacet er der mulighed for at uploade en sql fil der kan afvikles. Derfor vil jeg gerne lave et sql udtræk fra min egen database med nogle komplette inserts:
insert into tblXYZ () values ();

Tabeldefinitionerne har jeg scriptet og oprettet på webhotel, men hvad med data ? Hvorledes laves scripting af komplette inserts og/ eller er der andre måder at gøre det på ?
Webhotellet er surftown og webinterfacet er mylittletools.net der også giver mulighed for CSV import, hvilket jeg dog ikke har lykkedes med at få til at virke fornuftigt.
Avatar billede arne_v Ekspert
04. december 2005 - 20:35 #1
det er ikke så svært at konvertere data til INSERT sætninger

du kan sågar gøre det i SQL

lad os sige at tabel t1 har 2 felter f1 og f2 som er hendholdsvis integer og varchar

SELECT 'INSERT INTO t1 VALUES(',f1,',''',f2,''')' FROM t1

burde kunne gøre det
Avatar billede webdb Nybegynder
04. december 2005 - 20:47 #2
ja, den er jeg med på. Men jeg skal have Enterprise Manager, query analyser til at generere disse insert statements automatisk så jeg kan få en lang sql - fil med alle inserts fra tabellens rækker
Avatar billede arne_v Ekspert
04. december 2005 - 20:49 #3
det er det den SQL gør ....
Avatar billede arne_v Ekspert
04. december 2005 - 20:50 #4
hvis du har problemer med mellemrummene så

SELECT 'INSERT INTO t1 VALUES(' + f1 + ',''' + f2 + ''')' FROM t1
Avatar billede pidgeot Nybegynder
04. december 2005 - 20:50 #5
Jeg har ikke lige MSSQL 2000 ved hånden, men hvis jeg husker rigtigt kan du gøre det du vil ved at finde databasen i Enterprise Manager, højre-klikke på den, og vælge Generate SQL script... - men da det er noget tid siden jeg har brugt det, kan det godt ske det hedder noget lidt andet.
Avatar billede ldanielsen Nybegynder
08. december 2005 - 14:16 #6
Jeg går udfra at data ligger i en MSSQL på din egen maskine, og det gør arne_v vist også

Hvis der ikke er mulighed for ekstern adgang kan du ikke fra din egen maskine køre arnes script, men hvis webhotellets kan "se" din server, så kan du evt. køre det fra webhotellet. Det kræver så at webhotellet kan logge ind på din server, og det tror jeg ikke du kan få sat op.

Så muligheden er at du laver noget SQL der faktisk indeholder alle data, i stil med:

INSERT INTO Tabellen (felt1, felt2) VALUES('data her', 'og her')

Jeg kender ikke nogen måde at lave det på, jeg har heldigvis aldrig været nødt til det.

En måde der måske kan bruges er at du laver en backupfil fra din server, og overtaler webhotellet til at modtage den og restore den på webhotellet. Det vil jo som udgangspunkt overskrive alle data, så den mulighed passer bedst hvis der er tale om en opstart, hvor data skal lægges ind én gang for alle.
Avatar billede webdb Nybegynder
08. december 2005 - 19:22 #7
Jeg fandt et program, gratis, der kan generere komplette insert statements udfra en MS SQL tabel
http://www.asql.biz/DbaMgr.shtm
- det var løsningen
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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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