Avatar billede myplacedk Nybegynder
21. april 2001 - 00:03 Der er 11 kommentarer og
1 løsning

Backup af sql-database via ASP (sql-dump)

Jeg skal have kopieret en database. Der er et par problemer.
1) Jeg har ikke direkte adgang til databasen, kun via ASP
2) Det er en helt anden dabase kopien skal bruges på.

Det jeg har brug for er altså et SQL-dump af databasen.

Jeg skal bruge en stak SQL-linjer, som opretter tabellerne, og fylder dem med data.
Hvis hotellet understøttede PHP havde jeg bare brugt phpMyAdmin, som klarer jobbet perfekt. Men hvordan løser jeg det med ASP?
Avatar billede perla Nybegynder
21. april 2001 - 00:11 #1
Tvivler på at backup commandoen er tilgængeligt via ASP. Har du mulighed for at tildele rettigheder til ASP brugeren. Hvilket opertiv system snakker vi om og hvilken database. Men kan da leje lidt med det :-)
Avatar billede myplacedk Nybegynder
21. april 2001 - 00:15 #2
Tildele rettigheder? Hvad snakker vi om her? Der er adgang til databasen...
Det er vel NT siden det er ASP, og det er en SQL-database.
Så vidt jeg ved er det en Microsoft SQL database, men det er vel ligegyldigt.

ASP\'en skal hente en liste over tabeller, så skal den finde \"strukturen\" i tabellerne, og så skal den hente indholdet i dem.
Ud fra dette skal der opbygges de SQL-sætninger der skal til, for at kunne lave en database magen til på en anden SQL-server.

Det er en ting vi er vant til at gøre i PHP-verdenen, og SQL er altså ligeglad med om det er ASP eller PHP. Altså må det kunne lade sig gøre...
Avatar billede perla Nybegynder
21. april 2001 - 01:11 #3
ASP siden har rettigheder som IUSR_PCNAVN brugeren og  hvis NT kører integreret mode gælder det også databasen. MS SQL har andre muligheder end hvis det var en ACCESS, ligesom sql sætningnen er afhængig af hvilken database det er.

På netcoder ligger der et SQL administrator script som kan vise dig tabeller, feltnavne og indhold. Min version hedder 2000-08-22-SQL-Administrator.zip.



-Per
Avatar billede myplacedk Nybegynder
21. april 2001 - 01:21 #4
Jeg fatter ikke hvad du snakker om med rettigheder, jeg er ikke vant til windows hvad den slags angår.
Med det brugernavn og kodeord jeg har til sql-databasen har jeg adgang til at se det, jeg skal se på databasen. (Det hele...)

\"netcoder\"? Hvad er det? Snakker du om www.netcoders.dk? Der kan jeg ikke finde noget der hedder \"SQL-Administrator\"...
Jeg har heller ikke ledt så meget, jeg aner ikke om det er det rigtige site.

Kan du ikke give mig noget mere url-agtigt? :)

Jeg har i øvrigt fundet et asp-script, som godt nok viser mig strukturen. Men den gør det i \"human readable format\", hvilket vil sige at jeg skal sidde og oprette alle tabellerne manuelt, og kopiere alle data manuelt, ét feldt af gangen. Ad-ad... :)

Kan det der SQL administrator-script give \"rigtige\" SQL-dumps?
Avatar billede perla Nybegynder
21. april 2001 - 01:56 #5
Syntaksen for backup er

DUMP DATABASE dbname TO dump_device [WITH options]

Hvor dump_device= ( DISK|PIPE = \'temp_dump_device\'

Options kan sættes = INIT

Problemmet er at du så skal lægge den et sted du kan nå, dvs du skal kende den fysiske placering.

Hvis det lykkedes skal du så herefter have et ASP skript som binært sender det hjem.

Lad mig vide hvordan det går

-Per
Avatar billede myplacedk Nybegynder
21. april 2001 - 02:29 #6
Det lykkedes mig at få en hulens masse data. Men det er i et eller andet binært format, jeg havde egentlig regnet med at få en masse tekst...
Den server det hele skal ind på er ikke en Microsoft SQL-server men en Sybase SQL-server.

Når jeg med \"phpMyAdmin\" fx beder om et dump af en enkelt tabel, så kan det se sådan ud:

# phpMyAdmin MySQL-Dump
# http://phpwizard.net/phpMyAdmin/
#
# Host: localhost Database : nuke
# --------------------------------------------------------

#
# Table structure for table \'session\'
#

CREATE TABLE session (
  username varchar(25) NOT NULL,
  time varchar(14) NOT NULL,
  host_addr varchar(20) NOT NULL,
  guest int(1) DEFAULT \'0\' NOT NULL
);

#
# Dumping data for table \'session\'
#

INSERT INTO session VALUES ( \'212.242.193.119\', \'987809286\', \'212.242.193.119\', \'1\');


Dette kan vist bruges på ca. enhver SQL-server...
Avatar billede myplacedk Nybegynder
21. april 2001 - 02:37 #7
Jeg kan genkende nogle tekst-strenge rundt omkring, så indholdet i filen er vist god nok.
Spørgsmålet er bare: Hvordan hulen får jeg det nu ind i min sybase database?
Avatar billede myplacedk Nybegynder
21. april 2001 - 02:43 #8
I øvrigt, det ser ud til at min (ældre) sybase ikke kender til hverken dump eller load... :(
Avatar billede myplacedk Nybegynder
21. april 2001 - 03:09 #9
Argh, jeg er SÅ tæt på... :)
Jeg tror, at når databasen er kopieret, så er jeg færdig med denne opgave!
Men nu må jeg hellere gå i seng, jeg kan snart ikke holde mig vågen længere... Jeg prøver at komme op igen så tidligt som muligt, og så håber jeg du har svaret til den tid. :)
Avatar billede perla Nybegynder
21. april 2001 - 14:28 #10
Desværre kan det nok ikke importeres i en anden type database uden en hyldens besvær. Du har 2 muligheder.

1. Importer databasen til en sql-server og eksporter alle data til komma separeret filer.

2. eksporter alle data til komma separeret filer direkt på serveren.

Finder lige kommandoen.

-Per
Avatar billede perla Nybegynder
21. april 2001 - 15:08 #11
BPC databasename.tabel OUT path /c /o filename

/c er char format, Hvis du vil have andre feltterminator(tab) og record terminator(newline) skal du også tilføje /t og /r. Feks /t ,
Avatar billede myplacedk Nybegynder
21. april 2001 - 15:25 #12
En helt anden TYPE database mener jeg ikke det er, det er jo SQL begge dele.
Men jeg har efterhånden de oplysninger jeg skal bruge, jeg takker for hjælpen. :)
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
Kurser inden for grundlæggende programmering

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