Title: Re: [msvc] Connect to Oracle Database

Thank you so much! I greatly appreciate your help. I will let you know if I
have any other problems.

Adam




----- Original Message -----
From: "wfryatt" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED] hread.zl6
Sent: Wednesday, September 24, 2003 2:33 PM
Subject: Re: [msvc] Connect to Oracle Database


> You can name your ODBC DSN anything you want... Also.. I recommend using a
> System DSN.. Its easier to use..
> Once you have the configured the ODBC driver to work with your data
source,
> Try it out with a known program like MS Access or Oracle I think provides
a
> ODBC test program.. to make sure the connect does work and you can log
into
> it.. If it doesn't work.. Keep adjusting thing until it does... Oracle
isn't
> the easiest database server to setup..
>
> I have included my ODBC Database class as an example on how to connect and
> use an ODBC data source... It has been tested with MS Access, Oracle (7.3
to
> 9i) and MS-SQL Server 2000.  This should help you out alot...
>
> All of the ODBC SQLxxxxxxxxx functions are documented in MSDN.  With this
> class and MSDN you should be able to connect to just about any ODBC
> connections..
>
>
>
>
>
> ----- Original Message -----
> From: "Adam Welch" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED] hread.zl6
> Sent: Wednesday, September 24, 2003 11:35 AM
> Subject: Re: [msvc] Connect to Oracle Database
>
>
> > ok....if my tnsnames.ora entry is:
> >
> > APPLICATION.MONROETITLE.COM =
> >   (DESCRIPTION =
> >     (ADDRESS_LIST =
> >       (ADDRESS = (PROTOCOL = TCP)(HOST =
> app-rochester.monroetitle.com)(PORT
> > = 1521))
> >     )
> >     (CONNECT_DATA =
> >       (SERVICE_NAME = rochdb.monroetitle.com)
> >     )
> >   )
> >
> > what would I use for the DSN? Also, where do I specify a server?
> >
> >
> >
> > This was my code... and why does it keep bringing up the Select data
> source
> > dialog box
> > / Connect to Oracle Database
> >
> > CMyDatabase myDatabase;
> >
> > //UID - User Id
> >
> > //PWD - Password
> >
> > //Server - Your Service name
> >
> > //Using Microsoft ODBC for Oracle DSN-Less
> >
> > const CString strConnect = _T("Provider=MSDASQL; Driver={Microsoft ODBC
> > Driver for Oracle}; SERVER=app-rochester;
DATABASE=rochdb.monroetitle.com;
> > UID=application;PWD=Abs1");
> >
> > //const CString strConnect = _T("Provider=MSDAORA; User ID=application;
> > Password=Abs1");
> >
> >
> > //const CString strConnect = _T("Driver={Microsoft ODBC for Oracle};
> > Server=application.monroetitle.com; Uid=application; Pwd=Abs1");
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ----- 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