vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 12:39

Servus,

in folgendem Tip http://www.vbarchiv.net/archiv/tipp_1091.html habe ich gelesen wie es möglich sein soll Tabellen von einer DB in eine weitere DB zu kopieren. Leider steht da nicht wie ich Tabellen in eine Passwortgeschütze DB kopiere. Das Connection-Objekt das ja angegeben werden muss ist die Quelle, nicht das Ziel.

Weiß jemand wie das geht?

Danke,

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 12:42

Hey Chris

Bei diesem Tipp geht es auch darum Tabellen zu kopieren - also innerhalb der selben Datenbankconnection. z.B zur Sicherung

Wenn Du aber von einer Datenbank in eine andere Datenbank kopieren möchtest, würde ich das eher von einer DB in eine Textdatei ausgeben und in der anderen wieder neu einlesen lassen.

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 12:45

Hi Zero,

also ich lese da genz klar "in eine zweite Datenbank zu kopieren".

Dachte damit ist eine externe DB gemeint. Daher gebe ich ja auch den Pfad dazu an.

Chris.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 12:50

Hi Zero,

also ich lese da ganz klar "in eine zweite Datenbank zu kopieren".

Dachte damit ist eine externe DB gemeint. Daher gebe ich ja auch den Pfad dazu an.

Chris.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 12:59

Ja, da hast Du vollkommen recht - Tut leid, das hab ich übersehen.

Bei mySQL gibt es diesen Befehl gar nicht - der kommt aus dem oracle bereich und nicht aus dem ANSI Standard.

Aber wenn Du es per Passwort geschützt hast, bleibt Dir nix anderes über, als es als eigen Conneciton zu öffnen.

Willst Du das als einmalige Sache, oder sollen die Daten öfters exportiert werden - bzw. wozu?

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 13:06

Hatte ja schon mehrere Ansätze Daten von DB-A nach DB-B zu bekommen.

Per SQL und 2 Connections (zu langsam), per Recordsets und 2 Connections (acuh nicht so schnell), per Recordsets, ParamArrays und 2 Connections (hat nicht geklappt, den Thread kennst du ja) und jetzt eben per kopieren von Tabellen aus DB-A nach DB-B.

Das habe ich früher schon mit Access gemacht, allerdings da per DAO und ohne Passwort in der Zieltabelle.

Vorteil: Es braucht nur eine Connection, es rast und danach kann ich meine Zieltabelle per SQL updaten.

Dieser Import wird aus ca 350 Datenbank in eine DB zur Auswertung gefahren, und das jede Woche.

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 13:23

Hey

350 Datenbanken in Access? (Da geht es ja eh nicht mehr um performance.... )

Ich weiß nicht ob Access eine solche möglichkeit bietet:

Select * Into Outfile 'Datei' From Tabelle
Ich habe das gerade bei meiner mySQL Tabelle getestet - 1000 Zeilen (je 40 Spalten) in 0.03 Sekunden - Danach gibt es bei mySQL auch das Gegenstück
Load DataInfile
das wird dann ähnlich schnell sein - das wäre schon schön hurtig.

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 13:30

Servus,

leider arbeite ich nicht auf mySQL-Basis, habe ich auch nie.

Allerdings habe ich eine umgekehrte Möglichkeit gefunden. Nicht die QuellDB wird als Connection verwendet, sondern die Ziel-DB.

Dieht dann so aus:
smSQL = "SELECT " & smSourceTable & ".* INTO " & _
      smNewTableName & " FROM " & _
      smSourceTable & " IN " & _
      """" & smSourceDBPath & """"
     Call ogConn.Execute(smSQL)
Klappt soweit so gut.

PS: Vielleicht sollte man mal einen Workshop zu mySQL und VB6 schreiben, ähnlich wie der Workshop zur MSDEa.

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 13:37

Super! - Wenn das so geht, dann passt es wunderbar

Einen eigenen mySQL Workshop braucht man gar nicht - weil nur die SQL Befehlsreferenz abweicht - diese Tatsache hast Du aber bei jedem DB System.

Aber ich würde es mal zu Testzwecken runterladen - kann wirklich einiges & ist viel schneller und komfortabler als Access - einige features fehlen zwar zum MS-SQL Server, aber das sind Sachen die nicht unbedingt nötig sind.

und mySQL ist kostenfrei! - Bestes Argument.

mfg - Ich schätze wir hören uns hier bald wieder
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 13:42

Die MSDEa und ihr kommender Nachfolger sind auch kostenfrei, allerdings mit Einschränkungen in der Datenbankgröße, Speicherort und Anzahl gleichzeitiger Verbindungen.

Allerdings wird es für die kostenlose Nachfolgeversion der MSDEa auch eine grafische Verwaltungsoberfläche geben die auch nix kostet. Dazu noch die ganzen .NET-Features und und und (schwärm...)

Na ja, always keep an open mind. Ich schaus mir mal an.

Danke soweit,

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 13:54


mySQL ist in nichts eingeschränkt!!! - Riesiger Vorteil. - Es ist einfach Open Source - für jedes Betriebssystem zu haben - und auch da gibt es Tools, die Dir zur Verwaltung helfen. - Also nicht mehr das bidere DOS - Boxen herumfuhrwerken wie es mal wahr.

Und wenn man sich anschaut, wieviel namhafte Unternehmen zu mySQL gewechselt haben, wird einem sehr schnell klar, das es wirklich gut sein muss (OK - Papier ist geduldig) trotzdem - solange bei Access noch JET drinnen ist, ist auch keine "echte" Datenbank Engine vorhanden. Denn wenn man sich das Verfahren dieser Engine anschaut wird einem ja schwindelig - Es werden ja immer die kompletten DB's über das Netzwerk versendet bevor diese bearbeitet werden und dann wieder zurückgeschikt. Echt ARG!!!!!

Aber man mus auch wieder fairer weise sagen: Never change a winning team.

Somit. Viel Spass beim probieren und testen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Christian Peters
Datum: 20.12.04 14:19

Noch ein kurzer Hinweis:

Acces ist nicht das worauf ich bleiben möchte, die MSDEa ist ein "echter" SQL-Server, ohne Jet und so.

Hier gibts auch einen entsprechenden Workshop dazu. http://www.vbarchiv.net/workshop/workshop70.php

Vielleicht wird dir daraus ersichltich weshalb ich einen entsprechenden Workshop vorgeschlagen habe, geht da um Grundlagen, Ideen-geburten und auch ein wenig Know-How bezüglich Quellen, Tools, Möglichkeiten usw.

Ich fände sowas + Linksammlung und Kommentaren ganz gut. Aber das wird ein anderer Thread.

See ya,

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Tabellen kopieren 
Autor: Zero-G.
Datum: 20.12.04 14:23

Oh! - hab ich noch gar nicht gesehen - Cool

Ja, soetwas wäre für mySQL nicht schlecht - hast vollkommen Recht!

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel