Title: Re: [msvc] Connect to Oracle Database

#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.
> > > > >
> > > >
> > >
> >
>

Reply via email to