AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Fehler - Provider fehlt
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Fehler - Provider fehlt

Ein Thema von simmi · begonnen am 12. Mai 2015 · letzter Beitrag vom 14. Mai 2015
Antwort Antwort
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#1

ADO Fehler - Provider fehlt

  Alt 12. Mai 2015, 15:24
Datenbank: Access • Version: 2013 • Zugriff über: ADO
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.
  • Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\Programm\Daten\dq.accdb;Persist Security Info=False
  • Provider=Microsoft.ACE.OLEDB.15.0;Data Source=d:\Programm\Daten\dq.accdb;Persist Security Info=False
Den Satz aus dem Internet
…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.
Uwe
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: ADO Fehler - Provider fehlt

  Alt 12. Mai 2015, 18:17
eventuell musst Du noch die Microsoft Access Database Engine 2010 Redistributable in der 64-Bit Variante installieren. Ich weiß nicht genau, ob diese mit Office x64 schon installiert werden.

Du kannst ja auch mal unter x64 mit GetProviderNames(Names: TStrings); aus Data.Win.ADODB die Provider auslesen, die installiert sind.
Sven

Alle sagen, das geht nicht. Da kam einer, der wusste das nicht und hat es gemacht.

Geändert von SvB (12. Mai 2015 um 18:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: ADO Fehler - Provider fehlt

  Alt 12. Mai 2015, 18:30
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:
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.
Das geht im übrigen auch, wenn man zur Designtime einen Doppelklick auf die Komponente TADOConnection macht ... schon ist das heitere ConnectionString-Raten zu Ende.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: ADO Fehler - Provider fehlt

  Alt 12. Mai 2015, 19:39
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von simmi
simmi

Registriert seit: 24. Nov 2004
Ort: Röbel/Müritz
112 Beiträge
 
Delphi XE5 Professional
 
#5

AW: ADO Fehler - Provider fehlt

  Alt 14. Mai 2015, 07:17
Danke für eure Tipps. Ich werde diese einmal durcharbeiten.
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort


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 11:07 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