vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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

VB & Datenbanken
VB6 ADO Oracle10g 
Autor: Martin
Datum: 27.09.06 09:05

Hallo zusammen,

Ich versuche von meiner VB6 Anwendung auf eine Oracle10g ODBC Datenquelle zuzugreifen.
Eine Referenz habe ich auf folgende Library gesetzt:
Microsoft DAO 3.6 Object Library

Public dbOLNE As Connection  'Oracle
Public dbOLNEws As Workspace    'Oracle
 
sConnect = "ODBC;DSN=oplup1;UID=XXXX;PWD=XXXX"
  Set dbOLNEws = DAO.CreateWorkspace("IrgendeinName", "", "", dbUseODBC)
  Set dbOLNE = dbOLNEws.OpenConnection("NochEinName", dbDriverNoPrompt, False, _
    sConnect)
 
SQLStmt = "SELECT * FROM OT106"
set rs = dbOLNE.OpenRecordset(SQLStmt, dbOpenDynaset)
Mit Oracle 9i hat dieser Code einwandrei funktioniert. Mit 10g funktioniert zwar das Öffnen der Datenbank, aber sobald man ein SQL zur Datenbank schickt stürzt die komplette Entwicklungsumgebung ab (schon auf zwei verschiedenen Rechnern getestet).
Funktioniert DAO mit Oracle10g nicht mehr?

Martin
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6 ADO Oracle10g 
Autor: Prian0815
Datum: 27.09.06 10:21

Möglich wäre das, zumindest weiß ich inzwischen, dass manchmal der Einsatz von ADO vorzuziehen ist. Probiers doch einfach aus, Nimm den Verweis auf DAO raus und setze einen auf ADO, viel zu ändern am Coding ist da dann nicht.

Gruß Armin

P.S.: always look on the bright side of Life!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6 ADO Oracle10g 
Autor: Martin
Datum: 27.09.06 11:59

Wie heißt der Verweis auf ADO genau?
Habe schon etliche probiert, wo ich vermutet habe, dass es sich um einen Verweis auf ADO handelt hat aber nicht funktioniert.
DAnke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: VB6 ADO Oracle10g 
Autor: Prian0815
Datum: 27.09.06 14:28

Bei ADO würde ich am sinnvollsten ohne Verweis arbeiten. Dafür in der Deklaration so vorgehen:
Public con As ADODB.Connection ' repräsentiert die Datenbankverbindung(Connection)
Public RS As ADODB.Recordset 'repräsentiert ein allgemein zu verwendendes Recordset
Das ganze hat folgenden Hintergrund:

Das late-binding verursacht zum Entwicklungszeitpunkt evtl.schon beim Editieren
Probleme, wenn Funktionen aus Objektbiblioteken verwandt werden, die nicht early
gebunden wurden.
Prinzipiell wird kein Verweis im Menü Extras gesetzt, sondern zur Laufzeit zuerst
ein neutrales Objekt erzeugt, dem durch die Funktion CreateIObject eine Anwendung
und damit eine Objktbibliothek zugewiesen wird.
Beispiel:

Sub WordDocOeffnenMitLateBinding()
Dim wordobj As Object

Set wordobj=CreateObject("Word.Application")

... jetzt ist die Wordobjectbibliothek geladen ....
End Sub

Vorab schon mal noch ein paar gute Tips:

Accessversion feststellen:

Sub Accessversion
msgbox SysCmd(acSysCmdAccessver)
oder
msgbox Application.Version
End Sub

Installationspfad von Access ermitteln

SysCmd(acSysCmdAccessDir)
Der Pfad für Objektbibliotheken unterscheidet sich z.B. bei OfficeXP und Office 2003
....Office10/.... oder ....Office11/....:


Diese Informationen wrden benötigt, um versionsabhängige Verweise ggf. zur Laufzeit
setzen zu können.

Gruß Armin

P.S.: always look on the bright side of Life!
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