Thaxll'ssillyia
Captain
- Registriert
- Dez. 2007
- Beiträge
- 3.533
Hallo liebe Community,
ich häng gerade seit drei Stunden an einem Problem mit NHibernate und Access fest.
Mein Ziel ist einfach nur, (für mich erstmalig) eine Access-DB mit NHibernate anzusprechen. Dazu gibt es ja die schöne Spring-Konfig per xml:
Mein Problem ist, dass ich immer die Fehlermeldung bekomme, dass der Provider unbekannt ist:
{"No object named 'Microsoft.Jet.OLEDB.4.0' is defined : Cannot find definition for object [Microsoft.Jet.OLEDB.4.0]"}
Im Netz war die erste Lösung, mein Projekt auf 32-bit umzuschalten, da es JET nicht für 64-bit gibt. Gesagt getan, bekomme trotzdem den Fehler.
Die nächste Empfehlung war, es nicht mit Jet zu probieren, sondern mit ACE (https://www.microsoft.com/en-us/download/confirmation.aspx?id=13255). Hab ich installiert, jetzt bekomme ich wieder den Provider-nicht-gefunden-Fehler:
{"No object named 'Microsoft.ACE.OLEDB.12.0' is defined : Cannot find definition for object [Microsoft.Jet.OLEDB.4.0]"}
Abgesehen davon muss es auch beim Kunden laufen, der hat zwar Office, allerdings bestimmt nicht die verlinkten Extra-Connectoren auf dem Rechner. Es bringt mir ja gar nix, wenn es nur auf meinem Rechner läuft...
Hat jemand eine Idee? Bin für jede Hilfe sehr dankbar!
Gute Nacht wünscht
Thax
ich häng gerade seit drei Stunden an einem Problem mit NHibernate und Access fest.
Mein Ziel ist einfach nur, (für mich erstmalig) eine Access-DB mit NHibernate anzusprechen. Dazu gibt es ja die schöne Spring-Konfig per xml:
HTML:
<?xml version="1.0"
encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:db="http://www.springframework.net/database"
xmlns:tx="http://www.springframework.net/tx"
xsi:schemaLocation="http://www.springframework.net
http://www.springframework.net/xsd/spring-objects.xsd">
<db:provider id="dbProvider"
provider="Microsoft.Jet.OLEDB.4.0"
connectionString="Data Source=Config\DB.mdb" />
<object id="sessionFactory"
type="Projekt.FluentSessionFactory, Projekt">
<property name="DbProvider"
ref="dbProvider" />
<property name="HibernateProperties">
<dictionary>
<entry key="connection.provider"
value="NHibernate.Connection.DriverConnectionProvider" />
<entry key="dialect"
value="NHibernate.JetDriver.JetDialect, NHibernate.JetDriver" />
<entry key="connection.driver_class"
value="NHibernate.JetDriver.JetDriver, NHibernate.JetDriver" />
<entry key="show_sql"
value="true" />
</dictionary>
</property>
<property name="MappingAssemblies">
<list>
<value>Projekt</value>
</list>
</property>
</object>
<object id="transactionManager"
type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate32">
<property name="DbProvider"
ref="dbProvider" />
<property name="SessionFactory"
ref="sessionFactory" />
</object>
<tx:attribute-driven transaction-manager="transactionManager" />
</objects>
Mein Problem ist, dass ich immer die Fehlermeldung bekomme, dass der Provider unbekannt ist:
{"No object named 'Microsoft.Jet.OLEDB.4.0' is defined : Cannot find definition for object [Microsoft.Jet.OLEDB.4.0]"}
Im Netz war die erste Lösung, mein Projekt auf 32-bit umzuschalten, da es JET nicht für 64-bit gibt. Gesagt getan, bekomme trotzdem den Fehler.
Die nächste Empfehlung war, es nicht mit Jet zu probieren, sondern mit ACE (https://www.microsoft.com/en-us/download/confirmation.aspx?id=13255). Hab ich installiert, jetzt bekomme ich wieder den Provider-nicht-gefunden-Fehler:
{"No object named 'Microsoft.ACE.OLEDB.12.0' is defined : Cannot find definition for object [Microsoft.Jet.OLEDB.4.0]"}
Abgesehen davon muss es auch beim Kunden laufen, der hat zwar Office, allerdings bestimmt nicht die verlinkten Extra-Connectoren auf dem Rechner. Es bringt mir ja gar nix, wenn es nur auf meinem Rechner läuft...
Hat jemand eine Idee? Bin für jede Hilfe sehr dankbar!
Gute Nacht wünscht
Thax