vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Ausnahmefehler 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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: wenga
Datum: 22.09.08 08:43

Hey,
Zitat:

ich würde mal dein Projekt auf einem XP-System debuggen und
dann mal sehen was dabei rumkommt!

habe das nun gemacht, und das Projekt funktioniert einwandfrei. Jedoch nur wenn ich es auf WinXP kompiliere. Wenn ich die Dateien nach WinVista kopiere und mit denen dann eine EXE erstelle, funktioniert das Ganze nicht mehr unter WinXP. Also eine ziemlich eigenartige Sache.

Was könnte der Auslöser für so eine Reaktion sein? Christoph1972 schrieb:

--
wenga

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (Moderator)
Datum: 22.09.08 09:30

Benutzt du evtl COM zum erzeugen der MDB?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: wenga
Datum: 22.09.08 09:41

Hey,
Zitat:

Benutzt du evtl COM zum erzeugen der MDB?

Bitte entschuldige die Frage, bin jedoch relativ neu in VB.NET (kenne bisher nur VB6). Was meinst du damit?
Wäre dir sehr dankbar, wenn du deine Frage etwas genauer stellen könntest.

Vielen Dank!

--
wenga

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: wenga
Datum: 22.09.08 11:07

Hey,

FZelle schrieb:
Zitat:

Benutzt du evtl COM zum erzeugen der MDB?

Jetzt habe ich erfahren was du meinst.
Nein, die Datenbank existiert bereits mit den vorhandenen Tabellen. Ich mache ja noch gar nichts mit der DB im Code. Will ja nur den Connection String hinzufügen, was ja leider unter WinXP nicht klappt.

--
wenga

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (Moderator)
Datum: 22.09.08 13:46

Connectionstring hinzufügen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: wenga
Datum: 22.09.08 13:48

FZelle schrieb:
Zitat:

Connectionstring hinzufügen?


Siehe in meinem ersten Post. Dort habe ich den Sourcecode für das definieren des ConnectionString's hineinkopiert.

Connectionstring:

DatabaseConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data" & _
  "Source=" + My.Settings.InstallDirectory + "\AccessTabelle.mdb;Persist" & _
  "Security Info=False;"

--
wenga

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (Moderator)
Datum: 23.09.08 09:26

Assemblies = .NET DLL's und Programme.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: wenga
Datum: 23.09.08 09:33

Zitat:

Assemblies = .NET DLL's und Programme.

Danke! OleDb ist ein Teil von System.Data, d.h. das Objekt müsste vorhanden sein, wenn .NET installiert ist.
Auch alle anderen DLL's wurden schon zu beginn überprüft ob diese vorhanden sind.
Mit dem Dependency Walker habe ich noch eine DLL gefunden die fehlte, aber die hatte keinen direkten Einfluss auf meine Applikation.

Nunja, wird wohl ein Fehler bleiben, der unlösbar ist. Sehr eigenartig das Ganze.

Danke dir dennoch für die Hilfe und Mühe, FZelle!

--
wenga

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Ausnahmefehler bei OleDB Deklarierung [VB .NET] 
Autor: ModeratorFZelle (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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel