Toon posts:

VB > MySQL 2 x database !

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ben aan het piere klooien met 2 sql database's om vanuit de ene database data over te zetten naar de ander de mysql data base's staan op verschillende server's alle twee linux waarom wil ik dit ?
S'nachts op +- 3 uur wil ik alles van uit de hoofd database ouder dan 1 dag over zetten naar de server met geschiedenis dir kan wel op een vieze manier maar volgens mij zou het ook moeten werken met een

Code voor VB 6 via Myodbc driver win2000
set db as new connection
set db1 as new connection
INSERT INTO db_geschiedenis.tbl_tabelnaam Select * FROM db1_dag.tbl_tabelnaam WHERE date = '120102' ORDER BY id

krijg hier steeds de melding tabel bestaat niet |:(

als ik op 1 server dit doe dus

INSERT INTO tabelnaamORG Select * FROM tabelnaambestemming WHERE date = '120102' ORDER BY id ;)

dan werkt het wel dus het ligt aan de manier van aanroepen tabel maar hoe wat moet er voor staan en hoe
INSERT INTO ????tabelnaamORG ??????tabelnaambestemming

Uiteraard wordt dit uitgevoerd door db.Execute er voor te zetten.

Heb zo ongeveer het MSDN en weet ik niet wat al door gespit
nul nada over meerdere database's

Eimand een idee?? ;)

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Wat jij doet gaat niet werken volgens mij. Je zegt tegen de ene db dat 'ie data direct naar de andere moet schrijven, terwijl hij geen flauw idee heeft dat de een 2e db is en ook niet wat dat er dan wel voor 1 mag zijn en hoe hij 'em zou moeten aanspreken.

Wat je moet doen is zoiets:
pseudo
code:
1
2
3
4
Vraag resultset van eerste db op (select blaat from tabel)
Voor alle rows in resultset {
  Insert row in 2e db (insert into blaat)
}

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
ok ga effe proberen

Verwijderd

Topicstarter
Heb nu het volgende hoe zou het er volgens jou moeten uit zien???

db.Execute "INSERT INTO endtabel SELECT * From begintabel WHERE datum " & datumSTART

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 23 januari 2002 09:29 schreef heuvels het volgende:
db.Execute "INSERT INTO endtabel SELECT * From begintabel WHERE datum " & datumSTART
Dat is het copieren van de ene tabel in een andere, in dezelfde DB.

Wat Gerco beschrijft zou toch echt voor je moeten werken, maar dat is niet wat je nu hebt opgegeven :)

(ik zou niet weten hoe je het moet coden in VB, maar zie wel dat dit het niet doet ;) )

Verwijderd

Topicstarter
Snap er geen drol van
Wil Ger zijn uitleg misschien iets toelichten??

db.Execute "SELECT * From (zit in deze connectie!!)orgtabel WHERE datum like " & datumSTART & "INSERT INTO (zit niet in deze connectie!!)db1_BEstemming.tbl_TABEL"

Wat doe ik fout?

Verwijderd

Als je van Database X naar database Y wilt kopieren kan je dat het best in 2 stappen doen...

Je maakt eerst een recordset aaan waarin je de te kopierenen data stopt. Hier loop je door heen tot het einde van de dataset. In deze loop schrijf je in de doel tabel en database record voor record je data...

Je kan niet met 2 db connecties in recordset werken

Verwijderd

Topicstarter
Jammer was zo leuk geweest bedankt
Pagina: 1