Dynamic Recordset with Oracle ODBC
I'm trying to create a recordset that will automaticaly update
itself when the database has changed. I have tried using a
dynamic cursor but it doesnt work. The cursor type keeps on
getting set to a keyset cursor type. Does Oracle support
dynamic cursors? If so, can someone post an example.
No ODBC driver for Oracle supports the creation of dynamic resordsets. I'm not aware of a driver for any database that does.
Justin
Similar Messages
-
Too many time to open a session with oracle odbc
I have to migrate an internet site in Sql Server to Oracle.
When I connect Oracle Database with Oracle ODBC, it takes 2 or 3 seconds.
So if i have 8 or 10 recordset to open, it takes 20 s.
But when sessions are open, they live about 1 m and during this time i don't have problem to connect to the database.When i don't use the site during more than 1 m, all sessions are closed and so i have to wait.
How can i connect to the database quickly the first time?Are you using connection pooling? Are you pre-allocating connections on startup?
Justin -
"stack overflow" when trying to connect with Oracle ODBC
Hi,
I'm trying to connect to Oracle DB (8.1.7.3.0) from WinNT 4.0 SP6 with Oracle ODBC driver 8.0.6.6.0. I've been trying to connect with "Oracle ODBC Test" and with "MS Query". In either way I end up with Dr. Watson reporting about "stack overflow". Before starting to upgrade ODBC driver I wanted to ask - should these versions of driver and DB work together at all (even unofficially)? Or may I be missing some other thing? Any hints, ideas are welcome.
Regards,
Madis PriilinnThank You for replying, Justin!
Yes, I can connect successfully to the database through other tools - at the moment I tried SQL*Plus, Net8 Easy Config and Schema Manager.
The Oracle client in the NT machine is 8.0.5.0.0. And unfortunately I do not know anything about the Oracle installation on this machine and at the moment I don't have that person near me too whom to ask also. But I think the installation was ok, because the connection through ODBC was working before the DB upgrade as far as I understood (sorry, again at the moment I don't know what was the previous version of DB. I will ask that information as soon as possible).
The main problem that bothers me at the moment is that I can't install 8.1.* series OraODBC driver with 8.0.5.0.0 Oracle Installer. I managed to install 8.0.6.6.0 version of the driver, but not the newer ones. As far as I've understood I have to upgrade the whole Oracle in the NT machine to upgrade that installer. Am I correct?
Regards,
Madis Priilinn -
Problem with Oracle ODBC Driver on Windows 7
Hi,
Please help with this problem I have with a Windows 7 machine. I have installed Oracle Client 11g on my Windows 7 machine but when I want to create an ODBC Data Source, I cant find any driver for oracle. How can I resolve this issue? I need the data source for an application to work and I cant figure out what is happening. Someone please help!There's a dedicated Oracle ODBC forum:
ODBC
As this forum deals with connections from Oracle to foreign data stores it would be better to close this thread and post it again in the ODBC forum. -
Insert into CLOB fails with Oracle ODBC driver version 9.02.00.65
I tried to insert into CLOB using the latest Oracle ODBC driver 9.02.00.65 and it fails. But the same works with earlier versions of ODBC driver earlier to 9.02.00.65 ie., 9.02.00.63.
Here is the code snippet I tried. Any help now is highly appreciated as I am in the crunch time.
I tried the same code snippet with VARCHAR2 column with the same driver and it works.
** CONVDSN.C - This is the ODBC sample code for
** creating File DSN pointers to machine DSNs.
**This code is furnished on an as-is basis as part of the ODBC SDK and is
**intended for example purposes only.
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
#include <sql.h>
#include <sqlext.h>
#include <odbcinst.h>
#include <sqltypes.h>
#define MAXDATALEN 25 //maximum data length per column
#define MAX_COL 15 //maximum column in result set
#define MAX_ROW 100 //maximum number of rows
#define MAXBUFLEN 256
#define SQLERR_FORMAT "SQL Error State:%s, Native Error Code: %lX, ODBC Error: %s"
#define MAXDISPLAYSIZE MAX_COL*(MAXDATALEN+1)
#define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
#define SQLERRCNTDTITLE "SQL_ERROR results continued"
#define SQLWRNMSGTITLE "SQL_SUCCESS_WITH_INFO results"
#define SQLWRNCNTDTITLE "SQL_SUCCESS_WITH_INFO results continued"
#define NULLDATASTRING "SQL_NULL_DATA"
#define SQLERRMSGTITLE "SQL_ERROR results"
// prototypes
void ExpandFileName(LPSTR szFileDSNName, LPCSTR szDSNName);
void MakeLegalName(LPSTR szLegalDSNName, LPCSTR szDSNName);
// main routine: Iterate through the user and system DSNs, creating a pointer
// to each.
void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle);
void insertSelectClob();
void checkRcCode(RETCODE rc);
int main (int argc, char* argv[])
insertSelectClob();
return 0;
void FAR PASCAL DisplayError(SQLRETURN nResult, HWND hWnd, SWORD fHandleType, SQLHANDLE handle)
UCHAR szErrState[SQL_SQLSTATE_SIZE+1]; // SQL Error State string
UCHAR szErrText[SQL_MAX_MESSAGE_LENGTH+1]; // SQL Error Text string
char szBuffer[SQL_SQLSTATE_SIZE+SQL_MAX_MESSAGE_LENGTH+MAXBUFLEN+1];
// formatted Error text Buffer
SWORD wErrMsgLen; // Error message length
UDWORD dwErrCode; // Native Error code
int iSize; // Display Error Text size
SQLRETURN nErrResult; // Return Code from SQLGetDiagRec
SWORD sMsgNum = 1;
SWORD fFirstRun = TRUE;
char szDispBuffer[MAXDISPLAYSIZE+1]; // Display Buffer
szBuffer[0] = '\0';
do
// continue to bring messageboxes till all errors are displayed.
// more than one message box may be reqd. as err text has fixed
// string size.
// initialize display buffer with the string in error text buffer
strcpy(szDispBuffer, szBuffer);
// call SQLGetDiagRec function with proper ODBC handles, repeatedly until
// function returns SQL_NO_DATA. Concatenate all error strings
// in the display buffer and display all results.
while ((nErrResult = SQLGetDiagRec(fHandleType, handle, sMsgNum++,
szErrState, &dwErrCode, szErrText,
SQL_MAX_MESSAGE_LENGTH-1, &wErrMsgLen)) != SQL_NO_DATA)
if(nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE)
break;
wsprintf(szBuffer, SQLERR_FORMAT, (LPSTR)szErrState, dwErrCode, (LPSTR)szErrText);
iSize = strlen(szDispBuffer);
if (iSize && (iSize+strlen(szBuffer)+1) >= MAXDISPLAYSIZE)
break;
if (iSize)
strcat(szDispBuffer, "\n");
strcat(szDispBuffer, szBuffer);
// display proper ERROR or WARNING message with proper title
if (nResult == SQL_SUCCESS_WITH_INFO)
MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLWRNMSGTITLE : SQLWRNCNTDTITLE),
MB_OK | MB_ICONINFORMATION);
else
MessageBox(hWnd, szDispBuffer, (fFirstRun? SQLERRMSGTITLE : SQLERRCNTDTITLE),
MB_OK | MB_ICONEXCLAMATION);
if (fFirstRun)
fFirstRun = FALSE;
while (!(nErrResult == SQL_NO_DATA || nErrResult == SQL_ERROR || nErrResult == SQL_INVALID_HANDLE));
void insertSelectClob()
SQLCHAR clobdata[1001];
SQLCHAR resultdata[1001];
SQLINTEGER ind = SQL_DATA_AT_EXEC;
SQLCHAR *bufp;
SQLINTEGER cbOrderID = sizeof(SQLSMALLINT);
SQLSMALLINT sTmp=13;
SQLCHAR *sqlStmt1 = _T("INSERT INTO clobtbl(id, clob1) VALUES(?, ?)");
SQLCHAR *sqlStmt2 = _T("SELECT id, clob1 FROM clobtbl");
// SQLCHAR *sqlStmt1 = _T("INSERT INTO testInsert(id, clob1) VALUES(?, ?)");
// SQLCHAR *sqlStmt2 = _T("SELECT id, clob1 FROM testInsert");
int clobdatalen, chunksize, dtsize, retchklen;
HENV envHnd;
HDBC conHnd;
HSTMT stmtHnd;
RETCODE rc;
int nRowcnt=0;
SQLPOINTER pToken = NULL;
rc = SQL_SUCCESS;
// ENV is allocated
rc = SQLAllocEnv(&envHnd);
// Connection Handle is allocated
rc = SQLAllocConnect(envHnd, &conHnd);
rc = SQLConnect(conHnd, T("testd734"), SQLNTS, T("ipathdba"), SQLNTS, T("ipathdba"), SQLNTS);
printf(_T("Insert CLOB1 using SQLPutData...\n[%s]\n"), sqlStmt1);
// Set CLOB Data
int i;
SQLCHAR ch;
for (i=0, ch=_T('A'); i< sizeof(clobdata)/sizeof(SQLCHAR); ++i, ++ch)
if (ch > _T('Z'))
ch = _T('A');
clobdata[i] = ch;
clobdata[sizeof(clobdata)/sizeof(SQLCHAR)-1] = _T('\0');
clobdatalen = lstrlen(clobdata); // length of characters
chunksize = clobdatalen / 7; // 7 times to put
rc = SQLAllocHandle(SQL_HANDLE_STMT, conHnd, &stmtHnd);
// Step 1: Prepare
rc = SQLPrepare(stmtHnd, sqlStmt1, SQL_NTS);
// checkSQLErr(envHnd, conHnd, stmtHnd, rc);
// Step 2: Bind Parameter with SQL_DATA_AT_EXEC
rc = SQLBindParameter(stmtHnd,
1,
SQL_PARAM_INPUT,
SQL_C_SSHORT,
SQL_INTEGER,
0,
0,
&sTmp,
0,
&cbOrderID);
rc = SQLBindParameter(stmtHnd,
2,
SQL_PARAM_INPUT,
SQL_C_CHAR,
SQL_LONGVARCHAR,
clobdatalen*sizeof(CHAR),
0,
(SQLPOINTER)clobdata,
clobdatalen*sizeof(CHAR),
&ind);
// checkSQLErr(envHnd, conHnd, stmtHnd, rc);
// Step 3: Execute
rc = SQLExecute(stmtHnd);
while (rc == SQL_NEED_DATA) {
rc = SQLParamData(stmtHnd, &pToken);
if (rc == SQL_NEED_DATA) {
for (dtsize=0, bufp = clobdata;
dtsize < clobdatalen;
dtsize += chunksize, bufp += chunksize)
int len;
if (dtsize+chunksize < clobdatalen)
len = chunksize;
rc = SQLPutData(stmtHnd, bufp, len*sizeof(SQLCHAR));
else
len = clobdatalen-dtsize;
rc = SQLPutData(stmtHnd, bufp, SQL_NTS);
rc = SQLParamData(stmtHnd, &pToken);
// Fails as row count retrieved is zero.
rc = SQLRowCount(stmtHnd, &nRowcnt);
if(rc != SQL_SUCCESS)
DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
rc = SQLFreeStmt(stmtHnd, SQL_CLOSE);
printf(_T("Finished Update\n\n"));
rc = SQLAllocStmt(conHnd, &stmtHnd);
if (rc != SQL_SUCCESS)
printf(_T("Failed to allocate STMT\n"));
exit(-1);
// Clear Result Data
memset(resultdata, 0, sizeof(resultdata));
chunksize = clobdatalen / 15; // 15 times to gut
rc = SQLExecDirect(stmtHnd, sqlStmt2, SQL_NTS); // select
if(rc != SQL_SUCCESS)
DisplayError(rc, NULL, SQL_HANDLE_ENV, conHnd);
// Step 2: Fetch
rc = SQLFetch(stmtHnd);
for(dtsize=0, bufp = resultdata;
dtsize > sizeof(resultdata)/sizeof(CHAR) && rc != SQL_NO_DATA;
dtsize += chunksize-1, bufp += chunksize-1)
int len; // len should contain the space for NULL termination
if (dtsize+chunksize<sizeof(resultdata)/sizeof(CHAR))
len = chunksize;
else
len = sizeof(resultdata)/sizeof(CHAR)-dtsize;
// Step 3: GetData
rc = SQLGetData(stmtHnd,
2,
SQL_C_CHAR,
(SQLPOINTER)bufp,
len*sizeof(CHAR),
&retchklen);
if (!_tcscmp(resultdata, clobdata))
printf(_T("Succeeded!!\n\n"));
else
printf(_T("Failed!!\n\n"));
if (conHnd)
SQLFreeConnect(conHnd);
if (envHnd)
SQLFreeEnv(envHnd);
}Hi,
Since 9.2 has been desupported for error correction you will not be able to download that version from OTN. You should ask whoever is providing the training if their is an alternate version you can use. The only versions that you will be able to download from oracle.com is 10.2 11.1, and 11.2. -
Memory Leak with Oracle ODBC Driver for Long Raw columns
Oracle version : 8.1.7
Platform : Win2K
Oracle ODBC Driver version : 8.0.1.7.5.0.0
Hi,
I've got an Oracle database upgraded from
V8.0.5 to V8.1.7 which has a table having one long raw +
normal columns. I was able to observe distinct memory
leaks (approx 80K) when using ODBC interface calls (thro C++ code) that referenced a combination of normal & long raw columns in a select statement. However, this leak was not observed when only normal columns were present in the
select statement. Is there any known restriction for using
long raw columns with other columns? Or do long raw columns have a known memory leak problem thro ODBC?
Thanks!
Regards
SanchayanDid you ever get an answer on this issue?
Thanks in advance -
ORA-01013 with Oracle ODBC Driver 8.1.6.3
I have a very strange problem occuring with the latest Oracle 8.1.6 Driver. I am able to set up the ODBC connection and it tests correctly. I'll open an Access 97 database and attempt to link to a table in an Oracle 8.1.6 through ODBC. I can connect to the database fine and it brings back a list of the available tables. However, when I select a table and attempt to link to it, I get the following error:
ORA-01013: user requested cancel of current operation.
This behavior also occurs if I try this operation through VB 6.0 code.
Has anyone seen this before or better yet, have an answer as to why it is occurring?
P.S., I'm using MDAC 2.51As an update, when I turn tracing on, here is the section of the log file that contains the error.
MSACCESS d5-cb ENTER SQLStatisticsW
HSTMT 01861988
WCHAR * 0x00000000 [ -3] <empty string>
SWORD -3
WCHAR * 0x01862528 [ 5] "HQ"
SWORD 5
WCHAR * 0x01862548 [ -3] "AS"
SWORD -3
UWORD 1 <SQL_INDEX_ALL>
UWORD 0 <SQL_QUICK>
MSACCESS d5-cb EXIT SQLStatisticsW with return code -1 (SQL_ERROR)
HSTMT 01861988
WCHAR * 0x00000000 [ -3] <empty string>
SWORD -3
WCHAR * 0x01862528 [ 5] "HQ"
SWORD 5
WCHAR * 0x01862548 [ -3] "AS"
SWORD -3
UWORD 1 <SQL_INDEX_ALL>
UWORD 0 <SQL_QUICK>
DIAG [S1T00] [Oracle][ODBC][Ora]ORA-01013: user requested cancel of current operation
(1013) -
Probs with Oracle ODBC 8.1.6 Driver
I can bind to Number Buffers and SQLDateTime Structures with the Microsoft Driver, However, I get Garbage for these when I use Oracle 8.1.6. Is this Driver ODBC 3.0 Compliant ?
TixAll the 8.1.6 ODBC drivers are ODBC 3.51 compliant.
Have youdownloaded the latest version of the 8.1.6 driver from OTN? If you're still experiencing problems, could you post a code snippet?
Justin -
I'm having issues with oracle ODBC and access 2007
Hello all,
I'm having an issue with using an ODBC connection with a pass-through query in access 2007. I have Oracle 9i installed and am on Windows 7 32 bit. This only seems to be effecting Windows 7 users and not XP users.
The error in the SQL Log is this.
CLDemoFE 1694-162c EXIT SQLDriverConnectW with return code -1 (SQL_ERROR)
HDBC 0x00787430
HWND 0x000501FC
WCHAR * 0x6D3A8B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x6D3A8B34
SWORD -3
SWORD * 0x00000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
DIAG [NA000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-01019: unable to allocate memory in the user side (1019)
DIAG [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed (0)
DIAG [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed (0)
I've been looking all over the internet and can't find an answer to the issue and decided to post it to see what other people thought.
Thank you in advance.I've had exactly the same problem for weeks now. When using Safari, it stalls, freezes, then starts working again. I checked the console and exactly when it freezes. I get the following:
2015-02-25 5:51:59.000 PM kernel[0]: process com.apple.WebKit[405] caught causing excessive wakeups. Observed wakeups rate (per sec): 216; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 849849
and:
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.FC16A539-929A-43E5-91EB-34A5669B70FD[1265]) Could not terminate job: 3: No such process
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.FC16A539-929A-43E5-91EB-34A5669B70FD[1265]) Using fallback option to terminate job...
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.1004D4B5-112D-4D90-9779-B2BEFB570C7F[1262]) Could not terminate job: 3: No such process
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.1004D4B5-112D-4D90-9779-B2BEFB570C7F[1262]) Using fallback option to terminate job...
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.9F72A6A1-63F5-41B2-B02F-40D4CB0925A2[1261]) Could not terminate job: 3: No such process
2015-02-25 9:21:46.834 PM com.apple.launchd[1]: (com.apple.WebKit.WebContent.9F72A6A1-63F5-41B2-B02F-40D4CB0925A2[1261]) Using fallback option to terminate job...
2015-02-25 9:21:46.864 PM com.apple.launchd[1]: (com.apple.WebKit.Networking.8CDDD2D1-B6B6-4F09-B8DE-5C4A4E9F653E[1260]) Exited with code: 1
2015-02-25 9:21:46.998 PM com.apple.launchd[1]: (com.apple.WebKit.Plugin.64.39152B03-68E5-463E-A6C0-A9734AF733A2[1268]) Exited with code: 1 -
Oracle ODBC and DAO extremely slow
Hi
I'm using Microsoft DAO 3.6 with an Oracle ODBC connection (version 9.2) in an VB6 application.
Opening an updateable dynaset is extremely slow, I have measured the performance with Oracle ODBC, Microsoft Oracle ODBC and Microsoft SQL-Server ODBC as follows:
Oracle ODBC: 1952 ms
MS Oracle ODBC: 360 ms
MS SQL-Server ODBC: 40 ms (connection to a MS SQL-Server)
If I use the SQLpassthrough option the result is about 10 ms in all 3 cases, but the dynaset is readonly !
The testing program is as follows:
Option Explicit
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Form_Load()
Dim wsdata As DAO.Workspace
Dim db As DAO.Database
Dim dbconn As String
Dim rs As DAO.Recordset
Dim start As Long
dbconn = "ODBC;DSN=AdhocitORA;UID=adhocit;PWD=adhocit;"
Set wsdata = DBEngine.Workspaces(0)
Set db = wsdata.OpenDatabase("", False, False, dbconn)
start = timeGetTime
Set rs = db.OpenRecordset("Select * from Afdeling", dbOpenDynaset)
rs.MoveLast
rs.MoveFirst
rs.Close
Set rs = Nothing
MsgBox "Time " & timeGetTime - start
End Sub
Is there any setting in the Oracle ODBC, that need to be adjusted ??
ErlingWhy are you doing a moveLast followed by a moveFirst? That's going to force Oracle to retrieve all the records in the recordset. If there are a lot of records, you'll probably see a benefit if you increase the prefetch in the Oracle ODBC DSN configuration.
Justin -
Logging on with IC ODBC 11.1.0.7.0 win-32
Hello,
I'm having trouble trying to connect to the 11.1.0.7.3 database with Oracle Instant Client 11.1.0.7.0 (Windows 32-bit). I have here Instant client basic, odbc and sqlplus.
- I'm able to log on the database with sqlplus.
- Logging on with Oracle ODBC driver is causing these error messages in the admin level client trace file:
(2160) [06-AUG-2010 10:56:44:291] nttcni: trying to connect to socket 1512.
(2160) [06-AUG-2010 10:57:05:304] ntt2err: entry
(2160) [06-AUG-2010 10:57:05:304] ntt2err: soc 1512 error - operation=1, ntresnt[0]=505, ntresnt[1]=60, ntresnt[2]=0
(2160) [06-AUG-2010 10:57:05:304] ntt2err: exit
(2160) [06-AUG-2010 10:57:05:413] nttcni: exit
(2160) [06-AUG-2010 10:57:05:413] nttcon: exit
(2160) [06-AUG-2010 10:57:05:413] nserror: nsres: id=0, op=65, ns=12535, ns2=12560; nt[0]=505, nt[1]=60, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
(2160) [06-AUG-2010 10:57:05:413] nsopen: unable to open transport
(2160) [06-AUG-2010 10:57:05:413] snsbitts_ts: acquired the bit
(2160) [06-AUG-2010 10:57:05:413] nsvntx_dei: entry
(2160) [06-AUG-2010 10:57:05:413] nsvntx_dei: exit
(2160) [06-AUG-2010 10:57:05:413] snsbitts_ts: acquired the bit
(2160) [06-AUG-2010 10:57:05:413] nsmfr: 2096 bytes at 0x94a2420
(2160) [06-AUG-2010 10:57:05:413] nsmfr: 996 bytes at 0x94a2030
(2160) [06-AUG-2010 10:57:05:413] nladget: entry
(2160) [06-AUG-2010 10:57:05:413] nladget: exit
(2160) [06-AUG-2010 10:57:05:413] nsmfr: 212 bytes at 0x948f8e8
(2160) [06-AUG-2010 10:57:05:413] nladtrm: entry
(2160) [06-AUG-2010 10:57:05:413] nladtrm: exit
(2160) [06-AUG-2010 10:57:05:413] nioqper: error from nscall
(2160) [06-AUG-2010 10:57:05:413] nioqper: ns main err code: 12535
(2160) [06-AUG-2010 10:57:05:413] nioqper: ns (2) err code: 12560
(2160) [06-AUG-2010 10:57:05:413] nioqper: nt main err code: 505
(2160) [06-AUG-2010 10:57:05:413] nioqper: nt (2) err code: 60
(2160) [06-AUG-2010 10:57:05:413] nioqper: nt OS err code: 0
(2160) [06-AUG-2010 10:57:05:413] niomapnserror: entry
(2160) [06-AUG-2010 10:57:05:413] niqme: entry
(2160) [06-AUG-2010 10:57:05:413] niqme: reporting NS-12535 error as ORA-12535
(2160) [06-AUG-2010 10:57:05:413] niqme: exit
(2160) [06-AUG-2010 10:57:05:413] niomapnserror: exit
(2160) [06-AUG-2010 10:57:05:413] niotns: Couldn't connect, returning 12170
(2160) [06-AUG-2010 10:57:05:413] nioqer: entry
(2160) [06-AUG-2010 10:57:05:413] nioqce: entry
(2160) [06-AUG-2010 10:57:05:413] nioqce: exit
(2160) [06-AUG-2010 10:57:05:413] nioqer: exit
(2160) [06-AUG-2010 10:57:05:413] niotns: exit
(2160) [06-AUG-2010 10:57:05:413] nsbrfr: nsbfs at 0x94a1e30, data at 0x94a2d90.
(2160) [06-AUG-2010 10:57:05:413] nigtrm: Count in the NI global area is now 1
(2160) [06-AUG-2010 10:57:05:413] nigtrm: Count in the NL global area is now 1
With Filemon one can see the correct sqora32.dll and tnsnames.ora are used. The directory of Instant Client 11.1.0.7.0 is in the beginning of the PATH.
The machine is very slow. There are high timeout values:
SQLNET.INBOUND_CONNECT_TIMEOUT = 300
SQLNET.INBOUND_CONNECT_TIMEOUT_[LISTENERNAME] = 300
SQLNET.SEND_TIMEOUT = 300
SQLNET.RECV_TIMEOUT = 300
The error message I get when trying to log on with the application (which has been used with Instant Client 10.1.0.5):
IM006: [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
is the same which is thrown out when the tnsnames.ora or hosts file are not found.
The error message remains the same when the host ip is used instead of the host name in the tnsnames.ora file. The host ip can be seen in the trace file.
Comments will be much appreciated,Looks like this is some thing to do with MS ODBC driver manager related.
couple of times I had faced similer issue, once my connection string was wrong and another time using user DSN instead of system DSN worked fine.
Also, check @ http://support.microsoft.com/kb/822841
Hope this helps! -
Hi,
I am working with Oracle-ODBC-Driver 8.01.61.00 (from 28.04.2000) and Access2000 under Windows2000 in a german-version.
Access removes the comma by decimal-types.
In Oracle I have 5.12 but access shows me 512 !!! :-((
Who can help me ???
This is very, very, very urgent !!!!
Thanks !
Hallo,
Ich habe Oracle-ODBC-Treiber 8.01.61.00 vom 28.4.2000 dazu Access2000 und Windows2000 auf deutsch.
Leider entfernt Access alle Dezimaltrenner bei Zahlen mit Dezimalstellen.
In der Oracle steht 5,12 und Access zeigt mir 512 an !!!
Wer kann helfen ??? Es ist dringend !!!
DankeNote that the original poster asked the same question a day earlier in the thread "ACCESS and ODBC and Numeric's" which has received a couple of replies.
Justin Cave
ODBC Development -
Oracle ODBC known issues/bugs
Hi
Where can I find a list of known issues with Oracle ODBC driver
Thanks
InderAssuming you have a support contract, you can query the bug database from Metalink.
Justin -
Oracle ODBC, VB6, ADO, extended ascii
Dim lcn as ADODB.Connection
Dim sql as string
Dim s as string
' assume connection done here
s = chr(149) 'bullet
'value field is varchar2(64)
sql = "update dbo.text set value = '" & s & "'
With Microsoft ODBC for Oracle this works fine.
With Oracle ODBC 8.01.63:
value = chr(191) upside down question mark.
This appears to be the case for all ascii characters 128-256.
Note that:
sql = "update dbo.text set value = Chr(149)"
produces the desired result.
Any suggestions or ideas?one more line of code:
lcn.execute (sql)
of course.
null -
Oracle ODBC driver and TIMESTAMP with timezone
Does anyone know if it is possible to return data from a "TIMESTAMP WITH TIMEZONE" column using the Oracle ODBC driver and an ADO Recordset?
I am using the Oracle driver version 10.2.0.2 and TIMESTAMP fields work fine.
I can call Recordset->Open() with a query like "SELECT * FROM TABLE" when the table contains a column of type timestamp with timezone but when I execute a statement to see if there are results as in
if (!(srcRecsetPtr->BOF && srcRecsetPtr->EndOfFile))
my application throws an unhandled exception and exits. The exception is not a COM exception and I'm not sure how to get back additional information if that's possible.
The only information I've been able to find in searching TechNet and MetaLink is that a workaround is to wrap the columns in a TO_CHAR or TO_DATE conversion first but that's not a good solution for my problem since I am executing user specified SQL which may join multiple tables.
I've found one other note that says the documentation should be corrected and that these fields are NOT supported period (Bug #4011640).
I've experimented with the Bind Timestamp as Date option in the ODBC connection and with various ALTER SESSION settings to attempt to change the NLS_TIMESTAMP_TZ_FORMAT but I have been unable to get past the problem.
Any ideas are greatly appreciated.
Thanks,
TroyHi Justin
Thanks for your help.
I tried what you mentioned and I could connect myself via SQL*Plus without passing a password and a login, Extern authentification seems to work and my user seems to be right configurated.
But he problem goes on via ODBC. When I test connection in the ODBC Data Source Administrator of Windows XP, test fails and seems to forbid connection without userID and password. When I try to connect via ODBC in my program the same problem appears : "Unable to connect SQLSTATE=28000 [Oracle][ODBC][ORA]Ora-01017: Invalid username/password;logon denied" I could not connect in this way.. What's wrong ?
Maybe you are looking for
-
How do I turn this off? I can't download anything until I put in the card's information. But the card doesn't work anymore, it ran out of money. It keeps saying that my last perchase was unseccessful or something. I just want this to stop so I can up
-
AT300 - need help with display brightness
Hello! Help solve the problem with the AT300 tablet. Balanced consumption charge off, automatic brightness control is also disabled. But when watching videos, surfing and gaming brightness still varies depending on the color of the image. If the imag
-
If I have an ArrayList is my class that is going to be needed by virtually all classes should it be declared as public static ArrayList list. This way any class that want to use it can just refer to it without creating the object. Is this okay.
-
have owned CC on 9.99 for year or so..now want to install on desktop as well how do i do it? also once software setup whats best way to transfer files..I have 40,000 photos any help much appreciated
-
HT4539 How do you download the free apps?
How do you download the free apps?