passt 10 Geschrieben 8. Januar 2009 Melden Teilen Geschrieben 8. Januar 2009 Hallo allerseits, wir haben eine Datenbank umgezogen von MSSQL Server 2000 installiert auf Windows Server 2000 auf MSSQL Express 2008 installiert auf Windows Server 2008. Nun fehlen mir in den ODBC Datenquellen die Treiber für jegliche Datenbank-Typen, insb. fehlen mir die 'Microsoft dBase-Treiber (*.dbf)'. Wo erhalte ich diese Treiber? Sind die bei der Microsoft Jet 4.0 Datenbank Engine enthalten? Gruß Peter Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 8. Januar 2009 Melden Teilen Geschrieben 8. Januar 2009 Moin, hier unter Vista sind die Treiber vorhanden, dann sollten sie es unter 2008 auch sein (kann gerade nicht nachsehen). Geht es evtl. um die x64-Version? Gruß, Nils Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 9. Januar 2009 Autor Melden Teilen Geschrieben 9. Januar 2009 nein, es handelt sich um 32bit. kann es sein, dass die treiber aufgrund der installation von ms office vorhanden sind? – Ich Esel! Es geht um die 64bit Version. Da hatte ich gestern schon gelesen, dass es von MS einen Download für MSDASQL 64bit gibt. – 64-Bit-OLE DB-Anbieter für ODBC (MSDASQL) Beim Microsoft OLE DB-Anbieter für ODBC (MSDASQL) handelt es sich um eine Technologie, die es auf OLE DB und ADO (OLE DB wird intern verwendet) aufbauenden Anwendungen ermöglicht, über einen ODBC-Treiber auf Datenquellen zuzugreifen. MSDASQL ist ein OLE DB-Anbieter, der eine Verbindung mit ODBC anstatt mit einer Datenbank herstellt. MSDASQL ist im Lieferumfang des Windows-Betriebssystems enthalten. Windows Server 2008 und Windows Vista SP1 sind die ersten Windows-Versionen, die eine 64-Bit-Version der Technologie beinhalten. Hm, ich habe mir jetzt dieses Package runtergeladen. Es ist aber als Hotfix für Windows Server 2003 und Windows XP benannt. Wenn ich es versuche unter Windows Server 2008 x64 zu installieren, erhalte ich immer die Fehlermeldung "Not enough storage is available to process this command." Langsam weiß ich nicht mehr weiter... – Und noch Stückchen mehr an Information. So wie hier am Beispiel Vista x64 oder hier in einem älteren Thread zu sehen, gibt es zwei verschiedene Version für x64 und x32 des ODBC-Supports. Abhängig von der x-bit Version der Anwendung, die ODBC benötigt, wird die entsprechende Version verwendet. Beim obigen Vista x64 Beispiel kann man sehen, dass für x64 keine dBase-Treiber zur Verfügung stehen sondern nur für x32. Da ich aber ein MSSQL Express in der x64 Version installiert habe, ist der Zugriff auf dBase auch nicht möglich. Ich sehe jetzt zwei Möglichkeiten. Entweder ich kann MSSQL Express überzeugen das ODBC x32 zu verwenden - das wird wohl nicht gehen! - oder es findet sich noch ein dBase-Treiber für ODBC x64. Kann mir jemand eine Quelle für die zweite Variante nennen? Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 9. Januar 2009 Melden Teilen Geschrieben 9. Januar 2009 Moin, ich gehe davon aus, dass du für x64 keinen Treiber finden wirst. Kannst du nicht von einem separaten 32-Bit-System aus die dBase-Ansprache vornehmen? Sowas muss ja nicht auf derselben Maschine passieren. Gruß, Nils Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 9. Januar 2009 Autor Melden Teilen Geschrieben 9. Januar 2009 Das Problem ist, dass ich in einer Abfrage mittels OPENROWSET auf die alten dBase-Daten zugreife. Dieser OPENROWSET "Befehl" wird vom MSSQL Server selber (als Client) verarbeitet. Nun ist dieser in der 64Bit Version installiert und hat somit nicht die dBase-ODBC-Treiber. Um dieses nun entstandene Problem zu umgehen, müsste ich irgendwo eine 32Bit Version von MSSQL Express 2008 installieren. Diese MSSQL Instanz müsste ich dann mit der 64Bit Instanz als Linked Server verbinden. Dann sollte es theoretisch gehen. Das liest aber nicht nur für mich kompliziert :( Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 9. Januar 2009 Melden Teilen Geschrieben 9. Januar 2009 Nein, müsstest du nicht. Du brauchst nur eine Clientkomponente auf einem 32-Bit-System, die sich per ODBC sowohl mit dem SQL Server als auch mit der dBase-DB verbindet. Gruß, Nils Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 12. Januar 2009 Autor Melden Teilen Geschrieben 12. Januar 2009 Hm, wie soll ich das bewerkstellen, wenn der SQL Server sich selber als Client nimmt. Ich habe keine Idee wie das funktionieren soll. Ich kann mir vorstellen, lokal am Arbeitsplatz eine MSDE zu installieren und dort einen linked Server einzurichten. Die Abfrage muss dann auf die lokale Datenbank gestartet werden. So richtig gefällt mir die Lösung auch nicht... Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. Januar 2009 Melden Teilen Geschrieben 12. Januar 2009 Moin, müssen denn die dBase-Daten in dBase bleiben? Sonst könntest du sie einfach von einem Client aus in eine SQL-Datenbank importieren. Gruß, Nils Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 12. Januar 2009 Autor Melden Teilen Geschrieben 12. Januar 2009 Ja, die müssen noch in dBase bleiben. Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 12. Januar 2009 Melden Teilen Geschrieben 12. Januar 2009 Moin, die Variante mit dem Linked Server hat für dich den Vorteil, dass du weder die Clientsoftware noch das SQL-Skript großartig anpassen musst. Es ist aber nicht die einzige Möglichkeit. Wie gesagt könntest du, Programmier- oder Scripting-Kenntnisse vorausgesetzt, auch eine Clientkomponente auf einem 32-Bit-System einsetzen, die ohne Linked Server und Openrowset arbeitet und die Daten miteinander verbindet. Da ich nicht weiß, was deine Abfrage eigentlich macht und was du damit insgesamt erreichen willst, kann ich Eignung und Aufwand nicht einschätzen, sondern das hier nur als Idee einbringen. Folgendes hab ich grad gefunden, ich geb es mal ungeprüft weiter: http://www.barik.net/archive/2006/06/08/053820/ Gruß, Nils Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 12. Januar 2009 Autor Melden Teilen Geschrieben 12. Januar 2009 Die Programmierkenntnisse sind schon vorhanden, da die Anwendung auch von mir erstellt wurde. Ich scheue mich aber davor, wenn die Anwendung einmal wöchentlich genutzt wird, ein Programm zu entwickeln, das auf dem Server minütlich schaut, ob es aktiv werden soll. Welche Idee bzgl. Scripting hast du denn? Der Link von dir bestätigt nur das bisher von uns Gelernte. Wenn man den SQL Server aber dazu bringen kann, eine über die x32 Version von ODBC erstellte DSN zu verwenden, hätte ich eine Lösung. Ich schau mir das mal an - ich komme aber evtl. erst Donnerstag dazu. Zitieren Link zu diesem Kommentar
passt 10 Geschrieben 19. Januar 2009 Autor Melden Teilen Geschrieben 19. Januar 2009 Ich habe es jetzt mittels Linked Server in einem anderen 32Bit MSSQL gelöst. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.