AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi JOIN über unterschiedliche DBsysteme möglich?
Thema durchsuchen
Ansicht
Themen-Optionen

JOIN über unterschiedliche DBsysteme möglich?

Ein Thema von PASST · begonnen am 23. Jun 2008 · letzter Beitrag vom 1. Jul 2008
Antwort Antwort
Seite 3 von 3     123   
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: JOIN über unterschiedliche DBsysteme möglich?

  Alt 25. Jun 2008, 10:21
Ich probiere es gerade im SQL Query Analyzer aus. Dort ist der innere SQL-String in 'Anführungszeichen'. Wie kriege ich dann dort das <DATUM> = '16/5/2008' in Anführungszeichen?

SQL-Code:
SELECT *
FROM OPENROWSET(
'MSDASQL','DRIVER={Microsoft Dbase driver (*.dbf)}',
'select * from \\server\pfad\tabelle
where datum >= <DATUM>
')
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#22

Re: JOIN über unterschiedliche DBsysteme möglich?

  Alt 25. Jun 2008, 10:24
Zitat von PASST:
Wie kann ich denn unter MS SQL 20000 einen Linked Server einbinden?
Siehe Screenshots im Anhang.
Miniaturansicht angehängter Grafiken
verbindserver2_939.gif   verbindserver1_585.gif  
Andreas
  Mit Zitat antworten Zitat
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: JOIN über unterschiedliche DBsysteme möglich?

  Alt 25. Jun 2008, 10:52
So richtig rund läufts das auch nicht.

Ich habe mir den Linked Server angelegt und dabei als Datenpfad einen UNC-Pfad angegeben. Führe ich das folgende Query am SQL Query Analyzer aus:
select * from openquery (DBASE, 'select * from tabelle') erhalte ich je nachdem wo ich das Query ausführe entweder das korrekte Resultat oder eine Fehlermeldung.
Wenn ich lokal am Server, auf dem der SQL Server installiert ist, das Query ausführe, funktioniert alles.
Führe ich das Query an meinem Arbeitsplatz aus, auf dem ich auch den Query Analyzer installiert habe, so erhalte ich die Fehlermeldung:
SQL-Code:
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
[OLE/DB provider returned message: '\\server\pfade' ist kein zulässiger Pfad. Stellen Sie sicher, dass der Pfad richtig eingegeben wurde und dass Sie mit dem Server, auf dem sich die Datei befindet, verbunden sind.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#24

Re: JOIN über unterschiedliche DBsysteme möglich?

  Alt 27. Jun 2008, 12:09
Zitat von PASST:
So richtig rund läufts das auch nicht.
Ich habe mir den Linked Server angelegt und dabei als Datenpfad einen UNC-Pfad angegeben
Fang erst mal klein an und kopiere die dBase-Dateien auf den Server in ein lokales Verzeichnis.
Gut möglich, dass die Funktionen zum Zugriff auf dBase-Dateien aus der Computer Steinzeit kommen und mit diesem "neumodischen UNC-Zeugs" nichts anfangen können.
Und dann gäbe es den Servicepack #8 für die Jet-Engine (=Microsoft.Jet.OLEDB.4.0); vielleicht hilft's ja.
Andreas
  Mit Zitat antworten Zitat
PASST

Registriert seit: 30. Mär 2005
Ort: Krefeld
325 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: JOIN über unterschiedliche DBsysteme möglich?

  Alt 1. Jul 2008, 11:08
So, ich habe jetzt in dieser Variante gelöst.
Zitat von PASST:
Hurra, ich habe jetzt eine Variante gefunden, die mit UNC-Pfad funktioniert:

SQL-Code:
SELECT * FROM OPENROWSET(
'MSDASQL','DRIVER={Microsoft Dbase driver (*.dbf)}',
'SELECT * FROM \\SERVER\Pfade\Tabelle1.dbf')
Das einzige Problem ist noch, dass ich vorher das Byte für den MDX-Flag der dBase Dateien löschen muss. Das ist aber nicht wirklich ein Problem, da Clipper zwar diesen Flag setzt, aber selber nicht verwendet. Außerdem will ich wie gesagt die dBase Daten nur lesen und nichts schreiben.
Leider lässt sich diese Datei nicht bearbeiten, um den MDX-Flag zu löschen, wenn jemand sie (mit einem anderen Programm) geöffnet hat.
Kann man dem SQL-Server nicht sagen, dass er den MDX-Flag automatisch ignorieren soll?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz