![]() |
Datenbank: Access • Version: 2013 • Zugriff über: ADO
ADO Fehler - Provider fehlt
OS: Windows 7 64 - Delphi XE5 - Access 2013 64
Die Zielplattform soll 64 Bit Windows sein. Ich erhalte die Fehlermeldung, das der Provider nicht installiert ist. Für die Verbindung mit ADO habe ich zwei verschiende Provider versucht.
…ein Programm, auch wenn es 32 Bit ist, das auf einem 64 Bit Betriebssystem erstellt wird, kann nicht auf eine mit einem 32 Bit Office 2007-2013 erstellte Access DB zugreifen… habe ich auch beachtet. Dafür die 64 Bit Variante des MS Office 2013 installiert und die Datenbanken darauf umgestellt. Sofern ich die Zielplattform 32 Bit Windows wähle ist alles korrekt. Sofern jemand eine Lösung dafür kennt, Danke. |
AW: ADO Fehler - Provider fehlt
eventuell musst Du noch die
![]() Du kannst ja auch mal unter x64 mit
Delphi-Quellcode:
aus Data.Win.ADODB die Provider auslesen, die installiert sind.
GetProviderNames(Names: TStrings);
|
AW: ADO Fehler - Provider fehlt
Ich habe da mal von so etwas ganz komischen gehört und soll sich ODBC-Datenquellen (32-Bit) bzw. ODBC-Datenquellen (64-Bit) nennen. Angeblich unter der Systemsteuerung / Verwaltung zu finden.
Dort soll es so eine Registerkarte Treiber geben und Datenquellen soll man dort auch anlegen können. Angeblich sieht man dort sogar beim hinzufügen einer Datenquelle die installierten Treiber. Und nun zum absoluten Highlight: Führe mal dieses Dingens hier aus (einmal als 32Bit und dann als 64Bit) und hau auf den Button. Da kann man sich so einen ConnectionString zusammenklicken.
Delphi-Quellcode:
Das geht im übrigen auch, wenn man zur Designtime einen Doppelklick auf die Komponente
unit Form.Main;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Data.Win.ADODB; type TForm1 = class( TForm ) Button1: TButton; Memo1: TMemo; procedure Button1Click( Sender: TObject ); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click( Sender: TObject ); begin Memo1.Text := PromptDataSource( Self.Handle, Memo1.Text ); end; end.
Delphi-Quellcode:
macht ... schon ist das heitere ConnectionString-Raten zu Ende.
TADOConnection
|
AW: ADO Fehler - Provider fehlt
Das geht schon ohne weiteres indem man eine leere* TextDatei** mit der Endung .udl anlegt und doppelklickt. Damit kann man die ohne Hilfs-Programm anlegen.
Bei 64 Bit OLEDB Providern muss man leider so n Kunstgriff mit rundll.exe opendslfile machen und bekommt entsprechend den Kram für 64 bit angezeigt. Steht irgendwo im Internet, wie der Aufruf lautet. * leer genügt, darf aber auch schon was richtiges drin stehen. ** was eine Textdatei ist, kann man hier auch aktuell irgendwo in einem Thread finden. ;) |
AW: ADO Fehler - Provider fehlt
Danke für eure Tipps. Ich werde diese einmal durcharbeiten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz