Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Kann ich OLEDB in mein Programm integrieren und mit ausliefern?
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

[gelöst] Kann ich OLEDB in mein Programm integrieren und mit ausliefern?

beantworten | zitieren | melden

Hallo zusammen,

ich nutze um eine Exceltabelle auszulesen die OLED Technologie:

var excelFile = verbindung_zu_definitionen.getPfad();
                var hdr = "Yes";                    //hasHeaders ? "Yes" : "No";
                var binding_excel = new BindingSource();
                string connectionString;
                //Prüfen welches Excel OLEDB geladen werden soll
                if (excelFile.Substring(excelFile.LastIndexOf('.')).ToLower() == ".xlsx")
                    connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFile +
                                ";Extended Properties=\"Excel 12.0 Macro;HDR=" + hdr + ";IMEX=1\"";
                else
                    connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + 
                                ";Extended Properties=\"Excel 8.0;HDR=" + hdr + ";IMEX=1\"";

Sämtliche Kollegen nutzen mein Tool ohne Probleme
(Win7 64bit Office 2007)
Nun hat ein Kollege einen neuen PC bekommen mit
Win7 64bit Office 2013
und bei ihm funktioniert der Aufruf nicht mehr,
es kommt der Fehler:
Fehler
Microsoft.ACE.OLEDB.12.0 Provider ist nicht auf dem lokalen Computer regisitriert.

Nach meiner Recherche fand ich sämtliche Angaben, dass er folgendes installieren soll:
https://www.microsoft.com/de-de/download/confirmation.aspx?id=23734

Meine Frage,
kann ich da auch irgendwas in mein Programm über den VS2015 einbinden (Verweis o.Ä.), so dass nicht jeder der nun ein neues Office bekommt selbstständig etwas installieren muss?

Wollte schon den Verweis
Microsoft Office 12.0 Access Database Engine Object Library
hinzufügen, das nimmt er allerdings nicht.

Danke im Voraus.

Gruß Frank
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Edzio am .
private Nachricht | Beiträge des Benutzers
ErfinderDesRades
myCSharp.de - Experte

Avatar #avatar-3151.jpg


Dabei seit:
Beiträge: 5409

beantworten | zitieren | melden

ich kenns mit Office-Interop, dasses (auch) drauf ankommt, wie kompiliert ist.
Kompiliert man für 32 bit (x86), dann kennt er Jet-OleDb, kompiliert man für x64, dann kennt er ACE-OleDb.
Kompiliert man "AnyCpu", dann hängts vonne Entwickler-Maschine ab.

Vlt. hat das ja mit deim Prob zu tun, probier mal damit herum.
Der frühe Apfel fängt den Wurm.
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

ok danke, dann versuch ich das mal.
Irgendeinen Verweis gibt es nicht, den ich einbinden könnte?
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10084

beantworten | zitieren | melden

Nein.

Du musst den entsprechenden Treiber ( hier die AccessEngine ) installieren.
Es gibt keinen Weg drum herum.
private Nachricht | Beiträge des Benutzers
Edzio
myCSharp.de - Member



Dabei seit:
Beiträge: 68

Themenstarter:

beantworten | zitieren | melden

ok schade,
dann müßen die Kollegen, welche ein neues Office bekommen eben die Datei nachinstallieren.
Auch doof gelöst von Microsoft.

Danke für eure Hilfe.

Gruß Frank
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16152

beantworten | zitieren | melden

Dafür kann Microsoft recht wenig.
Es wäre viel eher einfach doof alles auf einer Maschine zu installieren, was vielleicht 0,01% der Office Benutzer benötigt.
Du als Entwickler musst dafür sorgen, dass die Dependencies vorhanden sind; nicht Microsoft.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers