Avatar billede carlo1 Nybegynder
02. september 2005 - 14:41 Der er 15 kommentarer og
1 løsning

Scheduled import til mySQL

Er der nogen der kender en måde hvorpå man kan importere data fra f.eks. en txt fil til mySQL og så lave et job der udfører dette job feks en gang om dagen?'

Jeg har fundet et program der hedder navicat som kan klare det, men som man desværre skal betale for, men hvis der findes et andet gratis alternativ eller en måde at programmere det på?
Avatar billede arne_v Ekspert
02. september 2005 - 14:51 #1
kan du ikke bare sætte cron (linux) eller scheduler (windows) til at load med
MySQL command line utility en gang om dagen ?
Avatar billede carlo1 Nybegynder
02. september 2005 - 15:01 #2
Så bliver nødt til at fortælle mig hvordan :) Jeg bruger windwos

Hvordan ser syntaksen ud hvis jeg f.eks. vil ha mysql command line dimsen til at tage bare 2 felter fra en tekst fil (felt;felt2) og indsætte dem i en db?

Jeg plejer at bruge php til inserts
Avatar billede arne_v Ekspert
02. september 2005 - 15:27 #3
du kan også køre PHP som CLI og dermed loade via PHP hvis du finder det nemmest
Avatar billede carlo1 Nybegynder
02. september 2005 - 15:31 #4
Jeg kigger på det mandag, nu er det weekend og festugen kalder :)
Avatar billede carlo1 Nybegynder
05. september 2005 - 13:10 #5
Jeg kan sgu itt få det til at virke.

Hvis jeg bruger MySQL command line utility, skal jeg jo først logge ind, vælge db osv. Kan det ordnes så med nogle argumenter og hvordan?

Følgende virker som det skal, hvis jeg først er logget osv:

LOAD DATA LOCAL INFILE 'C:/mappe1/test/123.txt' INTO TABLE
`tabel1` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES
TERMINATED BY '\r\n'
Avatar billede arne_v Ekspert
05. september 2005 - 13:14 #6
du laver en fil load.sql med det indhold

så kører du:

mysql database --user=xxxx --password=yyyy < load.sql
Avatar billede carlo1 Nybegynder
05. september 2005 - 13:18 #7
mysql database --user=xxxx --password=yyyy < load.sql

skal ovenstående skrives i 'Kør'? eller hvordan?
Avatar billede arne_v Ekspert
05. september 2005 - 13:23 #8
jeg ville nok skrive det i en BAT fil

teste at den virker

sætte Windows scheduler til at køre den på et bestemt tidspunkt
Avatar billede carlo1 Nybegynder
05. september 2005 - 13:51 #9
Jeg er snotforvirret. I den bat fil jeg laver, skal der skrives en sti til MySQL command util?

Skal:
mysql database --user=xxxx --password=yyyy < load.sql

feks hedde
"C:\Programmer\MySQL\MySQL Server 4.1\bin\mysql.exe" dbnavn --user=xxxx --password=yyyy <load.sql
Avatar billede arne_v Ekspert
05. september 2005 - 13:55 #10
hvis det dir ikke er i PATH: ja
Avatar billede carlo1 Nybegynder
05. september 2005 - 14:17 #11
der sker nada. Navnet på databasen skal stå lige efter ...mysql.exe" ?

Er der en måde så kommando vinduet ikke lukker med det samme, så man har en chance for at se hvad der sker (hvis der da sker noget, hvilket jeg efterhånden tvivler på)?
Avatar billede arne_v Ekspert
05. september 2005 - 14:24 #12
du kan teste BAT filen i et permanent komamndo prompt vindue - så lukker det
ikke igen

du kan læse om syntax til mysql utility med:

mysql -?
Avatar billede carlo1 Nybegynder
05. september 2005 - 15:36 #13
Jeg spørger igen, for det p*! virker stadigt ikke. Den PATH er den der står under miljøvariabler i systemet (på XP)? Skal jeg bare tilføje stien efter alt det andet der står i den linie?
Avatar billede arne_v Ekspert
05. september 2005 - 16:10 #14
f.eks.

eller bare angive fuld sti som du har ovenfor
Avatar billede carlo1 Nybegynder
06. september 2005 - 09:11 #15
Jesus Kristus! Nu virker det endeligt Arne. Jeg genindstallerede sql serveren og fik den til at indsætte den path for mig, så jeg var sikker på den var rigtig og vupti!

Læg et svar.
Avatar billede arne_v Ekspert
06. september 2005 - 09:24 #16
:-)
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