Zum Inhalt springen

Datenbank verbindungsprobleme in VB 05


Empfohlene Beiträge

Geschrieben (bearbeitet)

http://img245.imageshack.us/img245/4569/verbindung.png

hier wäre der fehler ich muss zugeben ich hab bisher noch nie ne access Datenpank impementiert.

Ich hatte vorher schon ein projekt mit dem ich erfolgreich eine verbindung zu ner sql Datenbank und habe die commands und die adapter sowie die connection einfach auf OleDb umgeschrieben, da mir gesagt wurde, das es im prinzip genauso geht wie bei einer sql Datenbank.

Hier ein abfragebeispiel wie ich es mir vorgestellt hatte das es geht :


Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _"Data Source=C:\db219.mdb")


 Dim cmd As New OleDb.OleDbCommand

            cmd.Connection = con

            cmd.CommandText = "Select * From Kontakte Where [E-Mail] like '%@%'"

            Dim ds As New DataSet

            Dim data1 As New OleDb.OleDbDataAdapter(cmd)

            data1.Fill(ds)

            DataGridView1.DataSource = ds.Tables(0)

Wäre nett wenn mir hier jemand in etwa sagen könnte was ich falsch gemacht habe beziehungsweise was ich zu beachten habe wenn ich auf eine access Datenbank zugriff haben will.

mfg

Simon

Bearbeitet von Gateway_man
Geschrieben

die meldung ist eigentlich sehr aussagekräftig: der OLEDB-treiber für JET dürfte nicht installiert sein. such mal bei MS nach JET bzw. MDAC ;)

programmierst du auf einem rechner, auf dem kein access (bzw. die datenzugriffskomponente aus MDAC) installiert ist?

s'Amstel

Geschrieben

eben nicht auf dem Rechner is ja Acess drauf ich habe die Datenbank auf selbigen rechner erstellt, jedoch hab ichs grad hier auf der Arbeit ausprobiert und es lief ohne probleme. Ich werd mal bei microsoft nach den treibern suchen und werd diese einfach in ein unterverzeichnis meiner anwendung legen und sofern dem jeweiligen rechner diese fehlen einfach nachinstallieren lassen, sollte ja gehn oder ?

lg und Danke

simon

Geschrieben
eben nicht auf dem Rechner is ja Acess drauf ich habe die Datenbank auf selbigen rechner erstellt, jedoch hab ichs grad hier auf der Arbeit ausprobiert und es lief ohne probleme. Ich werd mal bei microsoft nach den treibern suchen und werd diese einfach in ein unterverzeichnis meiner anwendung legen und sofern dem jeweiligen rechner diese fehlen einfach nachinstallieren lassen, sollte ja gehn oder ?

lg und Danke

simon

Du musst die nur registrieren. (regsrv32)

Evtl auch keinen entsprechenden Verweis hinzugefügt?

Geschrieben

eben nicht da es ja auf der arbeit geht und ich in der Zeit keine verweise gegeben habe. Hab was gefunden wollt wissen was ihr davon haltet. Das Problem ist ich kanns ja nicht ausprobieren obs das richtige ist weils hier in der Arbeit so oder so geht :rolleyes: Welch blanke ironie !

Downloaddetails: MDAC (Microsoft Data Access Components) 2.60.6526.3 - Deutsch

Dazu steht:

Der weitervertreibbare MDAC 2.6 RTM-Installer installiert die gleichen Datenzugriffs-Kernkomponenten wie Microsoft SQL Server 2000. In dieser Version sind Microsoft Jet, der Microsoft Jet OLE DB-Provider, der ODBC-Desktop-Datenbanktreiber und der Visual FoxPro-ODBC-Treiber nicht enthalten.

hier wird aber auch nichts von access gesagt :( Naja werds mal ausprobieren.

Eventuell hab ichs ja a nur überlesen :upps .

Danke wie immer fürs gute Feedback.

mfg

simon

Geschrieben

ah, vista! ist das ein vista 32-bit oder 64-bit? von JET gibt es AFAIK nur eine 32-bit-version.

im letzteren fall muss die applikation als 32-bit-applikation (projekteinstellungen auf "x86" stellen) erstellt werden.

s'Amstel

Geschrieben

ja der rechner auf dem die applikation entwickelt wird hat als OS:

Windows Vista Ultimate 64 bit

Und du meinst es läuft wenn ich beim debuggen x86 einstelle?

Ich mein ich will ja auch das se auf meinem rechner läuft zum test.

Geschrieben

im letzteren fall muss die applikation als 32-bit-applikation (projekteinstellungen auf "x86" stellen) erstellt werden.

s'Amstel

Danke bist mei Retter hat geklappt :D

Kannst du mir das jetzt erklären warum muss ich bei der vista 64 bit version beim debuggen auf x86 version umstellen. Und vor allem, welcher zusammenhang besteht zwischen der einstellung und der oldbc Klasse?

Bin verwirrt :confused:

Danke dir :uli das hätte ich als letztes versucht.

Mfg

Simon

Geschrieben
welcher zusammenhang besteht zwischen der einstellung und der oldbc Klasse?

es gibt eben keine (und voraussichtlich wird es diese auch nie geben) native unterstützung durch OLE DB für JET-datenbanken in .NET. es wird immer über den 32-bit OLE-DB treiber "gewrapped". ich vermute mal, JET ist eben aus sicht von .NET eine veraltete technologie.

xp und vista in den 32-bit und 64-bit anwendungen haben auch ihre systemdateien (sowie treiber für OLE DB und ODBC) in eigenen verzeichnissen.

so sind z.b. alle 32-bittigen systemanwendungen, die "emuliert" werden, im systemverzeichnis SysWOW64 abgelegt. um diese nutzen zu können, müssen eben .NET-anwendungen im 32-bit-modus laufen.

s'Amstel

  • 1 Monat später...
Geschrieben

Sers Amstelchen!

ah, vista! ist das ein vista 32-bit oder 64-bit? von JET gibt es AFAIK nur eine 32-bit-version.

im letzteren fall muss die applikation als 32-bit-applikation (projekteinstellungen auf "x86" stellen) erstellt werden.

Kannst du mir mal grob erklähren, wo ich diese einstellung in VisualBasic Express 2008 find? Bei Projekteinstellungen find ich die Option nicht!

Habe Vista 64bit

Geschrieben

für die express-versionen 2005 und 2008 ist eine manuelle manipulation der projektdatei erforderlich, d.h. die target platform "x86" muss mit einem XML-/texteditor in .vbproj-file händisch dazugenommen werden.

VB Express target x86 Platform?

ob dann der 32-bit OLEDB treiber für Jet o.ä. auch verwendbar ist, habe ich nie getestet, da ich für den professionellen einsatz ohnehin nicht die express-versionen einsetzen würde.

s'Amstel

Geschrieben

Is Ja nicht Professionel... eher alles andere als das! :)

Wie immer zu dank verpflichtet!

Und Hier noch mal für alle ein auszug aus dem Link von Amstelchen:

To resolve this issue

Set the platform target property to 'X86' for your VB or C# projects that have references to COM components.

For C# Projects:

1. Right click the project in the solution explorer and open 'properties'

2. Choose the Build tab

3. Set the Platform Target property to 'X86'

For VB Projects:

1. Right click the project in the solution explorer and open 'properties'

2. Choose the Compile tab

3. Press the Advanced Compile Options... button

4. Set the Target CPU property to 'X86'

Express Editions:

The VB and C# Express products do not expose the Target property inside the development environment. You will need to carefully modify the project file using a text or XML editor.

1. Close the project and/or solution

2. Select Open File from the File menu

3. Navigate to the project directory, and highlight the project file

4. Press the Open button, the project file should open in the XML editor

5. Locate the first <PropertyGroup> section and add the following line:

<PlatformTarget>x86</PlatformTarget>

1. Save the project file

2. Reopen the project and/or solution using Open Project/Solution from the File menu

3. Continue with development, debugging, and testing

Alternatively, if the application is targeted to 64-bit platforms, you can ensure that the COM controls added to the application have 64-bit equivalents on the development and deployment computers.

Geschrieben (bearbeitet)

Hey Rollermann

Falls dein Problem nach wie vor noch existiert, dann schau mal unter deinen Verweisen nach ob du dort "Microsoft DAO 2.5/3.5 Compatibility Libary" oder gar den "Microsoft DAO 3.6 Compatibility Libary" aktiviert hast. Bei den VB5 Versionen müßtest du wahrscheinlich die Version "Microsoft DAO 2.5 Compatibility Libary" als Verweis aktivieren, da du sonst vergeblich einen Datenbank versuchen wirst. Ist allerdings schon Lichtjahre her. :rolleyes:

Bearbeitet von PowerLooser
  • 1 Monat später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...