WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Visual Basic - Paradox (http://www.wcm.at/forum/showthread.php?t=66909)

bev 19.08.2002 15:55

Visual Basic - Paradox
 
Halli Hallo,

such jetzt schon einige Zeit im Netz und spiel mit Basic rum aber ich bekomm nichts sinnvolles raus. Vielleicht hat ja wer eine Idee zu meinem Problem:

Ich möchte aus einer Paradox Datenbank (.db File) die Daten irgendwie rausziehen und in Access oder MS-SQL schreiben.
Kann ich eine Paradox mit VB irgendwie ansprechen ???

Hab ein Programm gefunden (Database Explorer) mit dem kann ich das .db File öffnen und mir einen Export in .txt machen.
Leider kann ich damit nichts automatisieren.

Danke

mfg

Biri 19.08.2002 16:48

hallo !

1. Einfach eine ODBC-Verbindung zur .db Datei erstellen bzw. + z.B. die .db Datei ins Access über diese ODBC-Verbinudung dann einlinken.

2. Recordset öffnen und zugreifen.

Bei ODBC ist die zugrundeliegende DB egal (das ist ja der Sinn der Sache)

mfg
-hannes

bev 19.08.2002 17:06

hab ich schon versucht,
egal ob ich die datenquelle über access oder basic ansprech er will es einfach nicht

Access meint:

Exportieren von Dten aus Ihrer Datenbank, Importieren von Daten in Ihre Datenbank oder Vernküpfen von externe Microsoft Jet- oder ISAM- Datenbanktabellen mi Ihrer Datenbank ist mit ODBC nicht möglich
(Access 97)

VB mein:

[ADODC]:no RecordSource specified.[ADO]:Für das Befehlsobjekt wurde kein Befehlstext festgelegt.


:confused: :confused: :confused:

Gruß

Biri 20.08.2002 08:47

ODBC-Zugriff
 
hi !

hmmm - ich hab keine Paradox DB hier zum ausprobieren + weiß auch nicht, warum das nicht funktionieren sollte.
(hab bisher so auf Oracle + SQL-Server zugegriffen und da hats funktioniert)

Wenn die DB-Datei net allzugroß ist, kannst ma die ja mal mailen und ich probiers aus (sobald ich dazu zeit hab).

mfg
-hannes

Seidl 20.08.2002 15:13

DAO Beispiellösungen
 
Leider habe ich keine Paradox-Datenbank hier aber ich habe diese beiden Lösungen mit der angehängten Paradox-Tabelle getestet und sie haben einwandfrei funktioniert. Die Tabelle habe ich vorher aus der Nordwind Datenbank exportiert. (ins Verzeichnis c:\Paradox\ legen)
Falls es damit auch nicht geht, meld' dich nochmal.

' ##################################################
Option Compare Database

' Einbinden einer Paradox-Tabelle, Login-Passwort "geheim" über DAO
Public Function Einbinden()
Dim db As DAO.Database
Dim td As DAO.TableDef
Dim dy As DAO.Recordset

' aktuelle Datenbank verwenden
Set db = CurrentDb()
' neues TableDef-Objekt erstellen
Set td = db.CreateTableDef("Verbindung zu Paradox-Tablelle")
' Verbindungsoptionen einstellen
td.Connect = "Paradox 4.x; DATABASE=C:\Paradox\"
td.SourceTableName = "Kunden"
' Tabellendefinition in Datenbank einfügen
db.TableDefs.Append td
' Zugriff auf die Tabelle
Set dy = db.OpenRecordset("Verbindung zu Paradox-Tablelle")
MsgBox dy.RecordCount
End Function

' Direktes Öffnen einer Paradox-Tabelle "Kunden" (langsamer als Einbinden) über DAO
Public Function Oeffnen()
Dim db As DAO.Database
Dim dy As DAO.Recordset

' Datenbank öffnen
Set db = OpenDatabase("C:\Paradox\", False, False, "Paradox 4.x")
' Recordset erstellen
Set dy = db.OpenRecordset("Kunden")
End Function

' ##################################################

so long
Seidl

PS: nicht vergessen DAO einzubinden ;)

Seidl 20.08.2002 15:18

Übrigens...
 
hören sich deine Fehlermeldungen nach Problemen im Code an.
Vielleicht kannst du ihn ja posten.

so long
Sigi

Biri 20.08.2002 15:32

probleme beim code ?
 
hi !

@seidl
hmmm - glaub nicht, dass die probleme beim code liegen.
hab inzwischn eine pm an <bev> geschickt - will die dinge, die ich "rausgefunden" bzw. ausprobiert hab auch den andren zur Verfügung stellen.

Daher die Mail:
...
Beim einlinken der DB via ODBC erhalte ich die selbe, von dir beschriebene Fehlermeldung. (You cannot use ODBC to import from, export to, or link an external Microsoft Jet or ISAM database table to your DB)

Ist anscheinend ein "bekanntes" Problem - weitere Infos dazu findest du unter:

http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q230126&

Ich das ganze auch noch ohne ODBC, in Access eingelinkt (genauer: versucht) - das Format Paradox ausgewählt.

Dann kam folgende Fehlermldung:

- Incorrect collating sequence.

Falsche Sortierreihenfolge. (Fehler 3220)

Sie haben versucht, eine Paradox-Tabelle zu verknüpfen,
die mit einer internationalen Sortierreihenfolge erstellt wurde,
die nicht mit der von Ihnen verwendeten Reihenfolge übereinstimmt.

mfg
-hannes

Seidl 20.08.2002 15:42

Zur Sortierreihenfolge:
 
... Ein Hindernis bei der Einbindung kann allerdings die interne Sortierfolge der Datenbank sein. Wichtig ist, dass der Eintrag "CollatingSequence" in der Registrierdatenbank (siehe xBase Einbindung) mit der in der Datenbank verwendeten Sortierfolge übereinstimmt. Access verwendet standardmässig "ASCII", viele Tabellen sind allerding mit "International" sortiert. ...

(Auszug aus: Microsoft Access Programmierung - Version 2002 [Microsoft Press])

Da dieses Problem aber anscheinend ursprünglich nicht auftrat hat es wahrscheinlich nicht viel Sinn es weiterzuverfolgen. (Es sei denn du interessierst dich dafür)

so long
Seidl

Seidl 20.08.2002 15:47

@Biri
 
Wollte gerade deinem Link folgen. Klappt aber (zumindest bei mir) leider nicht.

so long
Seidl

Seidl 20.08.2002 16:02

Nur so anbei....
 
@bev:

Zumindest unter Access2002 gibt's in der Hilfe einen recht umfangreichen Eintrag: "Problembehandlung beim Importieren und Verknüpfen"
Ist da nichts dabei das den Fehler erklären könnte?
Falls der Eintrag bei Access97 noch nicht in der Hilfe ist kann ich ihn gerne posten.

@biri
UUUps, sorry! Der Link funktioniert doch. Ich habe nur übersehen das er nicht komplett übernommen worden ist. strg+c strg+v hat mir dann weitergeholfen ;)

so long
Seidl

Biri 20.08.2002 16:03

@seidl:

stimmt - habs jetzt selbst nochmal probiert: Die Linkadresse wird beim 1. ";" abgeschnitten !
weiß net, Anscheinen ist ";" in HTML ein Trennzeichen, oder sowas in der Art...
komisch. :confused:

Musst den Text halt "manuell" - also auch das, was nach ";EN-US;...." kommt in den Webbroser reinkopiern.

mfg
-hannes

Seidl 20.08.2002 16:07

@biri
 
Da haben wir wohl unsere letzten Postings gleichzeitig erstellt ;)
Zumindest sind wir zum gleichen Ergebnis gekommen.

bev 22.08.2002 10:05

Hallo

@seidl:

Hab deine geposteten Code ausprobiert und bekomme wieder die Fehlermeldung "Falsche Sortierreihenfolge".
Bin auch schon auf der Microsoft Page gewesen und hab in der Registry den Wert von "ASCII" auf "International" umgestellt, hat nichts geholfen.

Im Access 97 bekomm ich genau 2 Zeilen Hilfe zur Fehlermeldung...

Schau mal was du zur Fehlermeldung zu "Fehler 3220" im Access 2002 bekommst, wenn die etwas sinnvoller ist wäre es super wenn du die posten könntest.

Danke

Gruß

Seidl 22.08.2002 22:45

Hoffentlich hilft das
 
Also, der Fehler 3220 ist ein ADO-Fehler (Konstante: adErrCantChangeProvider)und die Fehlermeldung dazu lautet:
"Der angegebene Provider unterscheidet sich von dem bereits verwendeten." Aber so schlau warst du wahrscheinlich auch schon. Mehr gibt meine Hilfe dazu leider auch nicht her. Ist aber unter Umständen auch ausreichend. Wo tritt denn der Fehler auf?

Auf jeden Fall habe ich auch noch den Hilfeeintrag zu "Problembehandlung beim Importieren und Verknüpfen" (in früherem Posting angesprochen) als Anhang dazugelegt.
Der erste Punkt könnte vielleicht schon ein Treffer sein.

Ausserdem hab' ich nochmal im Access2002-Buch nachgesehen. In meinem letzten Auszug daraus wurde ja auf
XBase verwiesen. Hier also der angesprochene Teil aus dem Abschnitt über XBase:
----------------------------------------------------------------
Ein Thema, dass bei der Einbindung von xBase-Daten keinesfalls vergessen werden darf, ist die Unterstütztung von Indizes (aus Performace-Gründen unbedingt zu empfehlen).
Bevor Access mit den vorhandenen dBase- (.ndx oder .mdx) bzw. FoxPro-Indizes (.idx oder .cdx) arbeiten kann, müssen Sie diese in einer .inf-Datei deklariert haben. Diese Datei trägt denselben Namen wie die indizierte Tabelle. Den Grundaufbau können Sie dem folgenden Beispiel entnehmen.

Beispiel: Tabelle "Telefon" (Ort, Vorwahl), beide Spalten indiziert (Index: Telefon.mdx)
ebenfalls im Anhang

Die INF-Datei müssen Sie entweder "zu Fuss" erstellen oder Sie binden die Tabelle über den Menübefehl "Datei/Externe Daten" ein. Access fragt in letzterem Fall nach den zugehörigen Indizes. Haben Sie din Indizes eingebunden, werden diese bei Änderungen an der Tabelle natürlich ebenfalls aktualisiert.
----------------------------------------------------------------
(Auszug aus: Microsoft Access Programmierung - Version 2002 [Microsoft Press])

Die Index Datei heisst bei Paradox zwar *.px aber der Rest dürfte (laut Buch) gleich sein. Standardmässig sucht Access im aktuellen Verzeichnis nach der *.px Datei (welches das auch immer sein mag ;).
Vielleicht muss man ihm also wirklich mit der INF-Datei auf die Sprünge helfen.
Wenn das alles nichts hilft bin ich leider mit meinem Latein auch am Ende.

so long
Seidl

bev 26.08.2002 13:40

hallo hallo

vielen dank für die hilfe, hab das mit der .px datei versucht...
hat wieder nicht geklappt.

ich gebs schön langsam auf, muss i halt ab und zu an manuelen export in a textfile machen und das dann importieren

wenn i des ganze noch irgendwie zum laufen bring werd ichs posten. nochmal vielen dank für eure hilfe!

schöne grüße

bev


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag