| |
ADO.NET / DatenbankenAusnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: wenga | Datum: 19.09.08 09:55 |
| Hallo zusammen
ich habe momentan einen eigenartigen Fehler, zu dem ich bisher keine Hilfe dazu fand. Es geht um die Deklaration von dem OleDB Objekt, diese sieht wie folgt aus:
Public DatabaseConnection As New OleDb.OleDbConnection Wenn ich nun einen ConnectionString setzen will, fällt er direkt auf die Nase, und wirft folgende Fehlermeldung aus:
Ein Aufrufziel hat ein Ausnahmefehler verursacht
Connectionstring:
DatabaseConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data" & _
"Source=" + My.Settings.InstallDirectory + "\AccessTabelle.mdb;Persist" & _
"Security Info=False;" Woran könnte das liegen?
Noch eine wichtige Information: Die Applikation läuft auf Windows Vista ohne Probleme, jedoch auf keinen älteren Betriebssystemen. Wurde WinXP und 2000 getestet.
Entwicklungsumgebung:
Visual Studio 2008 Express Edition
Windows Vista
.NET Framework 2.0
--
wenga | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: Christoph1972 | Datum: 19.09.08 20:08 |
| Hi,
ich würde mal dein Projekt auf einem XP-System debuggen und dann mal sehen was dabei rumkommt!
Gruß
Christoph
| |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 22.09.08 09:30 |
| Benutzt du evtl COM zum erzeugen der MDB? | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 22.09.08 13:46 |
| Connectionstring hinzufügen? | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 22.09.08 15:31 |
| Was hat das jetzt mit dem Hinzufügen eines Connectionstrings in deine SW zu tun?
Du hast eine "AccessTabelle.mdb" in deinem installdir.
Auf die willst du per OleDb zugreifen.
Auch wenn du Pfade immer per System.IO.Path.Combine zusammenfügen solltest, ist es ja eigentlich
der richtige Connectionstring.
Wenn es unter XP so nicht geht, solltest Du dir mal das anschauen, was weiterhin in der
exception steht.
Eine Exception besteht nicht nur aus der ex.Message, die viele fälschlicher Weise nur ausgeben.
Und dann ist zu 90% der fehler ein fehlender JET-Treiber unter XP. | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: wenga | Datum: 22.09.08 15:38 |
| Hi,
FZelle schrieb:
Zitat: | | Was hat das jetzt mit dem Hinzufügen eines
Connectionstrings in deine SW zu tun?. | |
Hat nichts direkt mit dem zu tun. Nur wird so der Fehler ausgelöst, weil ich auf das OleDb Objekt zugreifen möchte.
FZelle schrieb:
Zitat: | | Auch wenn du Pfade immer per System.IO.Path.Combine
zusammenfügen solltest, ist es ja eigentlich
der richtige Connectionstring. | |
Richtig. Das stand gar nie zur Rede. Es funktioniert ja unter Vista einwandfrei mit dem String, also müsste der auch in XP funktionieren. Am Pfad liegt es nicht, dieser wurde schon überprüft.
FZelle schrieb:
Zitat: | | Wenn es unter XP so nicht geht, solltest Du dir mal das
anschauen, was weiterhin in der
exception steht.
Eine Exception besteht nicht nur aus der ex.Message, die
viele fälschlicher Weise nur ausgeben.
Und dann ist zu 90% der fehler ein fehlender JET-Treiber
unter XP | |
Wenn ich die Applikation in WindowsXP kompiliere, passiert der Fehler nicht, somit kann ich auch nicht genauer anschauen, was in der Exception steht. Am SourceCode wurde nichts verändert. D.h. es ist unwahrscheinlich, dass es am Treiber liegt.
Frage: Was meinst du mit "besteht nicht nur aus ex.Message"? Meinst du damit, dass es auch noch ex.InnerException.Message gibt?
--
wenga | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 22.09.08 19:42 |
| Ja, u.a. InnerException.
Deshalb gibt man nach möglichkeit in ein LogFile auch ex.ToString() denn da steht dann noch dutlich mehr drin.
Aber wenn es unter XP Compiliert geht, und nicht die Version die du unter Vista Compiliert hast,
bist du sicher, das die beiden die gleichen Frameworks drauf haben?
Es gibt ja FW 2 und FW 2SP1.
Ansonsten kann es dann nur an fehlenden oder unterschiedlichen Assemblies liegen. | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: wenga | Datum: 23.09.08 08:20 |
| Hi,
FZelle schrieb:
Zitat: | | Ja, u.a. InnerException.
Deshalb gibt man nach möglichkeit in ein LogFile auch
ex.ToString() denn da steht dann noch dutlich mehr drin. | |
Das habe ich schon gemacht ... leider bringt das nicht wirklich die intelligenteren Fehlermeldungen.
FZelle schrieb:
Zitat: | | Aber wenn es unter XP Compiliert geht, und nicht die Version
die du unter Vista Compiliert hast,
bist du sicher, das die beiden die gleichen Frameworks drauf
haben? [...] | |
Vista hat .NET 3.5 SP1, und auf XP habe ich .NET 1.1, 2.0, 3.0 und 3.5, alle mit dem aktuellsten ServicePack.
FZelle schrieb:
Zitat: | | Ansonsten kann es dann nur an fehlenden oder
unterschiedlichen Assemblies liegen. | |
Frage, was meinst du mit fehlenden Assemblies? Was sind Assemblies?
Auf jeden Fall besten Dank für deine Hilfe!
--
wenga | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 23.09.08 09:26 |
| Assemblies = .NET DLL's und Programme. | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: FZelle (Moderator) | Datum: 23.09.08 12:45 |
| Es kann nichts Ominöses sein.
Aber da du mir ja die komplette Exception vorenthalten willst, kann ich dir da auch nicht wirklich weiterhelfen.
Es kann ja nur an fehlenden Programmteilen, oder falschen Versionen liegen. | |
Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] | | | Autor: wenga | Datum: 23.09.08 13:26 |
| Hi,
FZelle schrieb:
Zitat: | | Aber da du mir ja die komplette Exception vorenthalten[...] | |
Bitte entschuldige, mir war nicht klar, dass du die komplette Exception möchtest. Hier nun die Daten die ich herausbekommen habe. Falls du mehr benötigst, bitte Bescheid sagen.
Err.Number: 5
Err.Description: Der Typeninitialisierer für "Application.ModuleGlobalVariables" hat eine Ausnahme verursacht.
ex.InnerException.Message: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
ex.ToString(): System.TypeInitializationException: Der Typeninitialisierer für "Application.ModuleGlobalVariables" hat eine Ausnahme verursacht. ---> System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.ComponentModel.Win32Exception: Der Vorgang wurde erfolgreich beendet
bei System.Drawing.Icon.Initialize(Int32 width, Int32 height)
bei System.Drawing.Icon..ctor(SerializationInfo info, StreamingContext context)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.RuntimeMethodHandle._SerializationInvoke(Object target, SignatureStruct& declaringTypeSig, SerializationInfo info, StreamingContext context)
bei System.Reflection.RuntimeConstructorInfo.SerializationInvoke(Object target, SerializationInfo info, StreamingContext context)
bei System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
bei System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)
bei System.Runtime.Serialization.ObjectManager.DoFixups()
bei System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
bei System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
bei System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
bei System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
bei System.Resources.ResourceReader.LoadObject(Int32 pos, ResourceTypeCode& typeCode)
bei System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
bei System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase)
bei System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
bei System.Resources.ResourceManager.GetObject(String name)
bei Application.FormShortkeys.InitializeComponent()
bei Application.FormShortkeys..ctor()
bei Application.ModuleGlobalVariables..cctor()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Application.ClassLoad.GetDatabaseConnectionString()
--
wenga | |
Problem gelöst | | | Autor: wenga | Datum: 24.09.08 13:56 |
| Das Problem wurde mittlerweile gelöst, aber im UseNet, und nicht hier.
Effektives Problem: Irgend eine Datei (oder mehrere) war/en defekt. Ist mir immer noch nicht klar welche.
Lösung: Wurde ein neues Projekt erstellt. Ausser dem Source Code selber wurde nichts vom alten Projekt übernommen. Nun funktioniert das Programm auf Vista und XP, und zwar ohne Probleme.
Ich bedanke mich denoch bei allen die sich die Mühe gemacht haben, mir zu helfen.
--
wenga | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevDTA 3.0 Pro
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|