QT unter Visual C++: Arbeiten mit Datenbanken

Verschiedenes zu Qt
Antworten
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

QT unter Visual C++: Arbeiten mit Datenbanken

Beitrag von kleineSchildy »

Hi,

ich habe folgendes Problem. Bis jetzt wurden mir die gebrauchten Bibliotheken von sachkundigen Mitarbeitern in Visual C++ definiert. Nun bin ich auf mich allein gestellt und habe keine Ahnung :roll:

Folgendes habe ich dazu gefunden :
How to build the sample program.

The sample program can be found in the [ORACLE_HOME]\oo4o\cpp\mfc\samples\empedit directory (where [ORACLE_HOME] is the directory your Oracle products are installed - usually c:\orawin). The project file is vsdept32.dsp and the project workspace is vsdept32.dsw. There is also another sample in the [ORACLE_HOME]\oo4o\cpp\workbook\empedt dir. The project file is empedt32.dsp and the project workspace is empedt32.dsw. Microsoft stores all the path information to locate header files and libraries for all your projects in one place. To change the path information to the include file or libraries, please make modifactions to your project settings or the project file. The class library include files and the omfc include files are installed into [ORACLE_HOME]\oo4o\cpp\include and [ORACLE_HOME]\oo4o\cpp\mfc\include respectively. You may wish to copy all the Oracle Objects include files to one place and just add that directory to the path. oraclm32.lib and omfc60.lib are installed into [ORACLE_HOME]\oo4o\cpp\lib and [ORACLE_HOME]\oo4o\cpp\mfc\lib respectively.

In order to run the sample (or any application you build), it will need to access the Class Library runtime DLL - oraclm32.dll which will be in your [ORACLE_HOME]\bin directory.
Aber ich versteh nicht, was ich machen soll. Es wird beschrieben, wo die Beispielprogramme liegen, ok, aber wo binde ich ich in Visual C++ die gebrauchten Klassen ein?

Kann mir bitte jemand helfen?

Viele Grüße
Jana
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

empedt32.dsp mit Visual C++ öffnen, da sollten bereits alle Informationen enthalten sein.
Was meinst du mit Klasse einbinden? Die Klasse von dem Beispiel? Die wirst du fast nicht brauchen. Ansonsten was willst du überhaupt machen?
Oracle Datenbank mit Qt drauf zugreifen? Dazu brauchst du lediglich das Qt Oracle Plugin. Das dann mit Qt laden und den rest macht dann eh schon Qt. Falls es das nicht sein sollte, schreibe dochmal genau, was du machen möchtest.
Zuletzt geändert von FlorianBecker am 4. Oktober 2005 11:02, insgesamt 1-mal geändert.
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

Beitrag von kleineSchildy »

hi,

ich möchte ja nicht dieses Beispiel verwenden, sondern nur einige Funktionen aus diesem Beispiel.

Ich habe ein Qt-Programm und da es mit "clob" nicht umgehen kann, brauche ich eine Alternative und dazu bietet Oracle halt Klassen mit entsprechenden Funktionen an. Diese Klassen/Bibliotheken möchte ich in meine Programm einbinden.

Ich weiß aber nicht wie.

Viele Grüße
Jana
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Kannst du programmieren?
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

Beitrag von kleineSchildy »

naja, was heißt können :) Warum? ist irgendetwas falsch?
kleineSchildy
Beiträge: 76
Registriert: 16. September 2004 18:29
Wohnort: Dresden

Beitrag von kleineSchildy »

ich möchte folgendes verwenden:
OO4O C++ Class Library Overview

Oracle Objects for OLE
Oracle Objects for OLE (OO4O) is a product designed to allow easy access to data stored in Oracle databases using any programming or scripting language that supports the Microsoft COM Automation and ActiveX technology. These languages include Visual Basic, Visual C++, Visual Basic For Applications (VBA), and IIS Active Server Pages (VBScript and JavaScript). OO4O consists of an in-process COM Automation Server, the C++ class library, and the Oracle Data Control. Relationships shows the high-level relationship between OO4O components.

OO4O In-Process Automation Server
The in-process COM Automation Server provides a set of COM automation interfaces/objects for connecting to Oracle database servers, executing queries, and managing the results. Automation objects in OO4O provide easy access to features that are unique to Oracle and are otherwise cumbersome or inefficient to use from other ODBC or OLE DB-based components such as DAO, RDO, and ADO.

Oracle Objects for OLE C++ Class Library
The OO4O C++ Class Library is a set of classes that greatly simplifies access to the automation objects in OO4O. All automation objects in OO4O are wrapped as C++ classes.

Oracle Data Control
The Oracle Data Control (ODC) is an OCX/ActiveX control that simplifies the exchange of data between query results and popular data-aware visual controls such as edit, list, and grid controls. ODC supports virtually all data-aware controls that can be bound to the Microsoft Data Control in Visual Basic.
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Hi,

ach so, naja, aber um die Funktionen aus dem Beispiel zu verwenden, musst es dir angucken, wie das Beispiel diese Funktionen benutzt. Gibt es denn keine Klassen Definition zu der Bibliothek?

Damit kannst du doch dann einfach die Funktionen ansprechen, einbinden wie du das brauchst!?

Ansonsten verstehe ich leider noch immer zu wenig, was du machen willst. Es gibt ja auch ActiveX Support in Qt, damit kannst wohl die Active X Komponenten der Lib verwenden. Gut, wenn es um persönliche Vorlieben geht würde ich es nicht machen, weil ich Active X nicht verwenden würde. 1. weil es nicht unter Linux geht und 2. weil es sehr unsicher ist, siehe Referenz Projekt Internet Explorer.

Aber wenn das seinen Job für deine Belange tut, ist das die einfachste und schnellste Möglichkeit die Lib einzubinden.

Falls du den Code brauchst, so was mache ich aus Prinzip nicht, ich kenne zu viele Leute, die in ein Forum gehen, ein Problem haben und dann geposteten Code dann direkt verwenden. Außerdem, wie gesagt, müsste ich mich erst mit befassen.
Antworten