#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
----- Original Message -----
From: "Adam Welch" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED] hread.zl6
Sent: Wednesday, September 24, 2003 11:37 AM
Subject: Re: [msvc] Connect to Oracle Database
> alos....I am using a CDHTMLDialog based application. Could I include these
> functions in my code, or are they, or should they be in a seperate class.
> Are there any #include headers that I should be including for this code?
> Thanks!
>
>
>
>
>
> ----- Original Message -----
> From: "wfryatt" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED] hread.zl6
> Sent: Wednesday, September 24, 2003 12:27 PM
> Subject: Re: [msvc] Connect to Oracle Database
>
>
> > As a suggestion.. Use the Micosoft's ODBD Driver for Oracle... For some
> > reason??? Oracle's drive doesn't like cercent things.. espeically when
it
> > comes to select data in a long raw (blob) field..
> >
> > Anyway.. Here how I open a database connection and login an ODBC data
> > source... And this does work with ever version of oracle that I have
> tested
> > with.. 7.3 to 9i
> >
> >
> > bool Database::OpenDatabase(char *DSN, char *UserID, char *Password)
> > {
> > bool Status = false;
> >
> > try
> > {
> > strcpy((char *)this->DSN, DSN);
> > strcpy((char *)this->UserID, UserID);
> > strcpy((char *)this->Password, Password);
> >
> > rc = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);
> > if (rc == SQL_SUCCESS OR rc == SQL_SUCCESS_WITH_INFO)
> > {
> > rc = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,
> > (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
> > if (rc == SQL_SUCCESS OR rc == SQL_SUCCESS_WITH_INFO)
> > {
> > Status = Login();
> > if (Status == false)
> > CloseDatabase();
> > }
> > else
> > {
> > DBError("OpenDatabase: SQLSetEnvAttr");
> > CloseDatabase();
> > }
> > }
> > else
> > DBError("OpenDatabase: SQLAllocHandle: SQL_HANDLE_ENV");
> > }
> > catch(...)
> > {
> > Status = false;
> > DBError("OpenDatabase: Exception Caught");
> > CloseDatabase();
> > }
> >
> > return (Status);
> > }
> >
> >
//************************************************************************
> >
> > void Database::CloseDatabase(void)
> > {
> > try
> > {
> > if (hdbc)
> > {
> > SQLDisconnect(hdbc);
> > SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
> > hdbc = NULL;
> > }
> >
> > if (henv)
> > {
> > SQLFreeHandle(SQL_HANDLE_ENV, henv);
> > henv = NULL;
> > }
> > }
> > catch(...)
> > {
> > DBError("CloseDatabase: Exception Caught");
> > }
> > }
> >
> >
//************************************************************************
> >
> > bool Database::Login(void)
> > {
> > bool Status = false;
> > char DBType[128];
> >
> > try
> > {
> > rc = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);
> > if (rc == SQL_SUCCESS OR rc == SQL_SUCCESS_WITH_INFO)
> > {
> > rc = SQLConnect(hdbc,
> > DSN, (SWORD)strlen((char *)DSN),
> > UserID, (SWORD)strlen((char *)UserID),
> > Password, (SWORD)strlen((char *)Password));
> >
> > if (rc == SQL_SUCCESS OR rc == SQL_SUCCESS_WITH_INFO)
> > {
> > LoggedIn = true;
> >
> > rc = SQLGetInfo(hdbc, SQL_DBMS_NAME, &DBType,
> > sizeof(DBType), NULL);
> > if (rc == SQL_SUCCESS OR rc == SQL_SUCCESS_WITH_INFO)
> > {
> > if (strcmp(DBType, "Microsoft SQL Server") == 0)
> > {
> > DBMSType = dbMS_SQL;
> > strcpy(SQL_QuilifierPre, "[");
> > strcpy(SQL_QuilifierPost, "]");
> > }
> > else if (strcmp(DBType, "Oracle") == 0)
> > {
> > DBMSType = dbOracle;
> > strcpy(SQL_QuilifierPre, "\"");
> > strcpy(SQL_QuilifierPost, "\"");
> > SetOracleDateTimeFormat("MM/DD/YYYY
HH:MI:SSAM");
> > }
> > else
> > {
> > DBMSType = dbUnknown;
> > strcpy(SQL_QuilifierPre, "");
> > strcpy(SQL_QuilifierPost, "");
> > }
> > Status = true;
> > }
> > else
> > DBError("Login: SQLGetInfo");
> > }
> > else
> > {
> > SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
> > hdbc = NULL;
> > DBError("Login: SQLConnect");
> > }
> > }
> > else
> > DBError("Login: SQLAllocHandle");
> > }
> > catch(...)
> > {
> > Status = false;
> > DBError("Login: Exception Caught");
> > }
> >
> > return (Status);
> > }
> >
> >
//************************************************************************
> >
> > bool Database::Logout(void)
> > {
> > bool Status = false;
> >
> > try
> > {
> > if (hdbc)
> > {
> > SQLDisconnect(hdbc);
> > SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
> > hdbc = NULL;
> > LoggedIn = false;
> > Status = true;
> > }
> > }
> > catch(...)
> > {
> > Status = false;
> > DBError("Logout: Exception Caught");
> > }
> >
> > return (Status);
> > }
> >
> >
//************************************************************************
> >
> >
> > ----- Original Message -----
> > From: "Adam Welch" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED] hread.zl6
> > Sent: Wednesday, September 24, 2003 10:57 AM
> > Subject: Re: [msvc] Connect to Oracle Database
> >
> >
> > > That's a good question. I would like to connect through the Microsoft
> ODBC
> > > Driver for Oracle. I am developing the application on an XP Machine.
The
> > > Oracle Database is not on my machine, but a different server. I have
the
> > > Oracle Client installed on my machine, but I was told, it was a better
> > idea
> > > to use Microsoft's ODBC Driver. I'm not really sure as to which
> connection
> > > string to use. Would it help to see the tnsnames.orl file?
> > >
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: "wfryatt" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED] hread.zl6
> > > Sent: Wednesday, September 24, 2003 11:35 AM
> > > Subject: Re: [msvc] Connect to Oracle Database
> > >
> > >
> > > > How are you trying to connect? via ODBC or Oracles OCI interface?
> > > >
> > > > ----- Original Message -----
> > > > From: "Adam Welch" <[EMAIL PROTECTED]>
> > > > To: <[EMAIL PROTECTED] hread.zl6
> > > > Sent: Wednesday, September 24, 2003 10:22 AM
> > > > Subject: [msvc] Connect to Oracle Database
> > > >
> > > >
> > > > > Is there anyone out there with good knowledge of VC++ and
connecting
> > to
> > > an
> > > > > Oracle database. I am having some problems. If there are, please
> > respond
> > > > > ASAP and I will let you know more. Thanks!
> > > > >
> > > > > Adam - N.Y.
> > > > >
> > > >
> > >
> >
>
