11g ODBC SQLGetTypeInfo result COLUMN_SIZE column being returned as 64bit v
Using InstantClient 11.2 ODBC I'm getting odd behavior for the SQLGetTypeInfo call on a 64bit Win2K3 machine.
When binding the result column 2 (COLUMN_SIZE) as an integer (as per the ODBC spec), it looks like this is being returned in a 64bit word (even though the buffer buffer size is specified as a SQLUINTEGER).
This is obviously causing some issues - is this a known bug?
My solution is to move this value's storage to the end of the struct I'm using to store all the columns of the result and add some additional padding but my concern is that there are other areas where the ODBC interface is not following the ODBC specification. Is there a list of known exceptions to the ODBC specification for the oracle instant client drivers for 64 bit architectures?
Thanks. That's doing the trick.
We can use PASSTHROUGH PACKAGE to change the SQL_MODE for a particular session using the MySQL statement: set session sql_mode='ANSI_QUOTES';
It will then look like:
- first setting in the session ANSI_SQL using PASSTHROUGH:
DECLARE
ret integer;
c integer;
BEGIN
c := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@mysql;
DBMS_HS_PASSTHROUGH.PARSE@mysql(c, 'SET SESSION SQL_MODE=''ANSI_QUOTES'';'));
ret := DBMS_HS_PASSTHROUGH.EXECUTE_NON_QUERY@mysql(c);
dbms_output.put_line(ret ||' passthrough output');
DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@mysql(c);
END;
REMARK: The passthrough statement SET SQL_MODE=''ANSI_QUOTES''; uses 2 single quotes ... !!no DOUBLE QUOTES !!
Now selects works using double qoutes:
SQL> select * from "test"@mysql;
col1 col2
Hello 1
As soon as I disconnect and connect again and try to run the select without the PASSTHROUGH we get the old error again:
SQL> select * from "test"@mysql;
select * from "test"@mysql
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.37-community]You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near '"col1",A1."col2" FROM "test" A1' at line 1
ORA-02063: preceding 2 lines from MYSQL
So using PASSTHROUGH at the beginning of each session allows us to change the ANSI mode for a particular session only without affecting all the other clients and might be a good workaround.
Similar Messages
-
Hello Guys,
I am creating resultsource from central admin. If I create it from central admin it works fine. But if I am creating result source from power shell scripts it shows me following error message.
An exception of type 'Microsoft.Office.Server.Search.Query.InternalQueryErrorException' occurred in Microsoft.Office.Server.Search.dll but was not handled in user code
Additional information: Search has encountered a problem that prevents results from being returned. If the issue persists, please contact your administrator.
Any suggestion ?
Thanks in Advance.Hi,
Please provide more specific information about the issue. What type of content source you tried creating via powershell?
Make sure you are using the approproate permission and search service application.
Here is the reference for creating content resource via script:
http://technet.microsoft.com/en-us/library/ff607867(v=office.15).aspx
Regards,
Rebecca Tu
TechNet Community Support -
Migration from 9i to 11g Transparent Gateway results in a) ORA-12704: character set mismatch b) ORA-02070: database ... does not support SYS_OP_C2C in this context
What Transparent Gateway (TG) 11g configuration steps prevent the following errors?:
a) ORA-12704: character set mismatch
b) ORA-02070: database <DB_link_name> does not support SYS_OP_C2C in this context
Hints:
The current 9i TG works with the existing views and packages. These same db objects will not compile using the new 11g TG.
The db objects are on an Oracle 10g database linked to an SQL Server 2008 R2 database.
Since the 9i TG works I assume a configuration to the 11g TG will get it working same as before. But what...
Is is something controlled by these parameters? (Sorry, I don't know how this stuff works. I'm the application developer. My DBAs setup the Transparent Gateways.):
Parameters in the Gateway Startup Shell script:
ORA_NLS33
NLS_LANG
Parameters in the initsid.ora file:
HS_LANGUAGE
HS_NLS_DATE_FORMAT
HS_NLS_DATE_LANGUAGE
I'm avoiding the known workaround to refactor the VIEWS and PACKAGES to contain CAST() statements to explicitly match the data types. A server side fix to the 11g TG is preferred.
Sample code:
a) ORA-12704: character set mismatch
... is caused by SQL that works with my 9i TG but not with my 11g TG. It's a snippit from my view that won't compile:
select status_code -- Oracle VARCHAR2(30)
from ora_app_interfaces
UNION
select "StatusCode" as status_code -- SQL Server NVARCHAR(30)
from SqlAppInterfaces
Example workaround that I'm avoiding:
select status_code
from ora_app_interfaces
UNION
select CAST("StatusCode" as VARCHAR(30)) as status_code
from SqlAppInterfaces
b) ORA-02070: database <DB_link_name> does not support SYS_OP_C2C in this context
A line of code in the procedure that compiles correctly but fails to execute:
-- Insert into SQL Server from Oracle
insert into PatientMedRecNum (
"PatID", -- SQL Server INT
"MedRecNum", -- SQL Server NVARCHAR(11)
"Hospital") -- SQL Server NVARCHAR(30)
values (
pi_pat_id, -- Oracle NUMBER
pi_med_rec_num, -- Oracle VARCHAR2
pi_hospital); -- Oracle VARCHAR2
I'd guess the errors are caused by the TG's implicit conversion between the Oracle VARCHAR2 and the SQL Server NVARCHAR... but this works fine on the 9i TG... how do I set it up to work on the 11g TG?
Thanks!Trace of 11g TG... generating errors due to lack of automatic mapping from SQL NVARCHAR to Oracle NVARCHAR, where the previous 9g TG mapped from SQL NVARCHAR to Oracle VARCHAR2.
Oracle Corporation --- MONDAY SEP 22 2014 13:35:08.186
Heterogeneous Agent Release
11.2.0.4.0
Oracle Corporation --- MONDAY SEP 22 2014 13:35:08.186
Version 11.2.0.4.0
Entered hgogprd
HOSGIP for "HS_FDS_TRACE_LEVEL" returned "DEBUG"
Entered hgosdip
setting HS_OPEN_CURSORS to default of 50
setting HS_FDS_RECOVERY_ACCOUNT to default of "RECOVER"
setting HS_FDS_RECOVERY_PWD to default value
setting HS_FDS_TRANSACTION_LOG to default of HS_TRANSACTION_LOG
setting HS_IDLE_TIMEOUT to default of 0
setting HS_FDS_TRANSACTION_ISOLATION to default of "READ_COMMITTED"
setting HS_NLS_NCHAR to default of "UCS2"
setting HS_FDS_TIMESTAMP_MAPPING to default of "DATE"
setting HS_FDS_DATE_MAPPING to default of "DATE"
setting HS_RPC_FETCH_REBLOCKING to default of "ON"
setting HS_FDS_FETCH_ROWS to default of "100"
setting HS_FDS_RESULTSET_SUPPORT to default of "FALSE"
setting HS_FDS_RSET_RETURN_ROWCOUNT to default of "FALSE"
setting HS_FDS_PROC_IS_FUNC to default of "FALSE"
setting HS_FDS_MAP_NCHAR to default of "TRUE"
setting HS_NLS_DATE_FORMAT to default of "YYYY-MM-DD HH24:MI:SS"
setting HS_FDS_REPORT_REAL_AS_DOUBLE to default of "FALSE"
setting HS_LONG_PIECE_TRANSFER_SIZE to default of "65536"
setting HS_SQL_HANDLE_STMT_REUSE to default of "FALSE"
setting HS_FDS_QUERY_DRIVER to default of "FALSE"
setting HS_FDS_SUPPORT_STATISTICS to default of "TRUE"
setting HS_FDS_QUOTE_IDENTIFIER to default of "TRUE"
setting HS_KEEP_REMOTE_COLUMN_SIZE to default of "OFF"
setting HS_FDS_GRAPHIC_TO_MBCS to default of "FALSE"
setting HS_FDS_MBCS_TO_GRAPHIC to default of "FALSE"
setting HS_CALL_NAME_ISP to "gtw$:SQLTables;gtw$:SQLColumns;gtw$:SQLPrimaryKeys;gtw$:SQLForeignKeys;gtw$:SQLProcedures;gtw$:SQLStatistics;gtw$:SQLGetInfo"
setting HS_FDS_DELAYED_OPEN to default of "TRUE"
setting HS_FDS_WORKAROUNDS to default of "0"
setting HS_FDS_ARRAY_EXEC to default of "TRUE"
Exiting hgosdip, rc=0
ORACLE_SID is "xxxDEV"
Product-Info:
Port Rls/Upd:4/0 PrdStat:0
Agent:Oracle Database Gateway for MSSQL
Facility:hsa
Class:MSSQL, ClassVsn:11.2.0.4.0_0019, Instance:xxxDEV
Exiting hgogprd, rc=0
Entered hgoinit
HOCXU_COMP_CSET=1
HOCXU_DRV_CSET=178
HOCXU_DRV_NCHAR=1000
HOCXU_DB_CSET=178
HS_LANGUAGE not specified
rc=1239980 attempting to get LANG environment variable.
HOCXU_SEM_VER=102000
Entered hgolofn at 2014/09/22-13:35:08
RC=-1 from HOSGIP for "PATH"
Setting PATH to "C:\oracle\product\11.2.0\tg_2\dg4msql\driver\lib"
Exiting hgolofn, rc=0 at 2014/09/22-13:35:08
HOSGIP for "HS_OPEN_CURSORS" returned "50"
HOSGIP for "HS_FDS_FETCH_ROWS" returned "100"
HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
HOSGIP for "HS_KEEP_REMOTE_COLUMN_SIZE" returned "OFF"
HOSGIP for "HS_FDS_DELAYED_OPEN" returned "TRUE"
HOSGIP for "HS_FDS_WORKAROUNDS" returned "0"
HOSGIP for "HS_FDS_MBCS_TO_GRAPHIC" returned "FALSE"
HOSGIP for "HS_FDS_GRAPHIC_TO_MBCS" returned "FALSE"
treat_SQLLEN_as_compiled = 1
Exiting hgoinit, rc=0 at 2014/09/22-13:35:08
Entered hgolgon at 2014/09/22-13:35:08
reco:0, name:abaccess, tflag:0
Entered hgosuec at 2014/09/22-13:35:08
uencoding=UTF16
Entered shgosuec at 2014/09/22-13:35:08
Exiting shgosuec, rc=0 at 2014/09/22-13:35:08
shgosuec() returned rc=0
Exiting hgosuec, rc=0 at 2014/09/22-13:35:08
HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
HOSGIP for "HS_FDS_TRANSACTION_LOG" returned "HS_TRANSACTION_LOG"
HOSGIP for "HS_FDS_TIMESTAMP_MAPPING" returned "DATE"
HOSGIP for "HS_FDS_DATE_MAPPING" returned "DATE"
HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
HOSGIP for "HS_FDS_RESULTSET_SUPPORT" returned "FALSE"
HOSGIP for "HS_FDS_RSET_RETURN_ROWCOUNT" returned "FALSE"
HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
HOSGIP for "HS_FDS_DEFAULT_OWNER" returned "dbo"
HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
Entered hgocont at 2014/09/22-13:35:08
HS_FDS_CONNECT_INFO = "sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV"
RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING"
Entered hgogenconstr at 2014/09/22-13:35:08
dsn: sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV, name:xxx_admin
optn:
Entered hgocip at 2014/09/22-13:35:08
dsn:sqlserverxxx/sqlinstancexxx/SQL_Server_2008_xxx_DEV
Exiting hgocip, rc=0 at 2014/09/22-13:35:08
Entered shgogohn at 2014/09/22-13:35:08
ohn is 'OraGtw11g_home2'
Exiting shgogohn, rc=0 at 2014/09/22-13:35:08
RC=-1 from HOSGIP for "HS_FDS_ENCRYPT_SESSION"
using 0 as default value for "HS_FDS_ENCRYPT_SESSION"
RC=-1 from HOSGIP for "HS_FDS_VALIDATE_SERVER_CERT"
using 1 as default value for "HS_FDS_VALIDATE_SERVER_CERT"
Entered hgocont_OracleCsidToIANA at 2014/09/22-13:35:08
Returning 2252
Exiting hgocont_OracleCsidToIANA at 2014/09/22-13:35:08
Exiting hgogenconstr, rc=0 at 2014/09/22-13:35:08
Entered hgopoer at 2014/09/22-13:35:08
hgopoer, line 231: got native error 5701 and sqlstate 01000; message follows...
[Oracle][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Changed database context to 'Xxx_XXX_DEV'. {01000,NativeErr = 5701}[Oracle][ODBC SQL Server Wire Protocol driver][Microsoft SQL Server]Changed language setting to us_english. {01000,NativeErr = 5703}
Exiting hgopoer, rc=0 at 2014/09/22-13:35:08
hgocont, line 2764: calling SqlDriverConnect got sqlstate 01000
Entered hgolosf at 2014/09/22-13:35:08
Exiting hgolosf, rc=0 at 2014/09/22-13:35:08
DriverName:HGmsss23.dll, DriverVer:07.01.0093 (B0098, U0065)
DBMS Name:Microsoft SQL Server, DBMS Version:10.00.2531
Exiting hgocont, rc=0 at 2014/09/22-13:35:08 with error ptr FILE:hgocont.c LINE:2764 ID:SQLDriverConnect
SQLGetInfo returns Y for SQL_CATALOG_NAME
SQLGetInfo returns 128 for SQL_MAX_CATALOG_NAME_LEN
Exiting hgolgon, rc=0 at 2014/09/22-13:35:08
Entered hgoulcp at 2014/09/22-13:35:08
Entered hgowlst at 2014/09/22-13:35:08
Exiting hgowlst, rc=1 at 2014/09/22-13:35:08
SQLGetInfo returns Y for SQL_PROCEDURES
SQLGetInfo returns 0x1f for SQL_OWNER_USAGE
TXN Capable:2, Isolation Option:0xf
SQLGetInfo returns 128 for SQL_MAX_SCHEMA_NAME_LEN
SQLGetInfo returns 128 for SQL_MAX_TABLE_NAME_LEN
SQLGetInfo returns 134 for SQL_MAX_PROCEDURE_NAME_LEN
HOSGIP returned value of "TRUE" for HS_FDS_QUOTE_IDENTIFIER
SQLGetInfo returns " (0x22) for SQL_IDENTIFIER_QUOTE_CHAR
13 instance capabilities will be uploaded
capno:1992, context:0x0001ffff, add-info: 0
capno:3042, context:0x00000000, add-info: 0, translation:"42"
capno:3047, context:0x00000000, add-info: 0, translation:"57"
capno:3049, context:0x00000000, add-info: 0, translation:"59"
capno:3050, context:0x00000000, add-info: 0, translation:"60"
capno:3066, context:0x00000000, add-info: 0
capno:3067, context:0x00000000, add-info: 0
capno:3068, context:0x00000000, add-info: 0
capno:3069, context:0x00000000, add-info: 0
capno:3500, context:0x00000001, add-info: 91, translation:"42"
capno:3501, context:0x00000001, add-info: 93, translation:"57"
capno:3502, context:0x00000001, add-info: 107, translation:"59"
capno:3503, context:0x00000001, add-info: 110, translation:"60"
Exiting hgoulcp, rc=0 at 2014/09/22-13:35:08
Entered hgouldt at 2014/09/22-13:35:08
NO instance DD translations were uploaded
Exiting hgouldt, rc=0 at 2014/09/22-13:35:08
Entered hgobegn at 2014/09/22-13:35:08
tflag:0 , initial:1
hoi:0x12ee18, ttid (len 32) is ...
xxx
xxx
tbid (len 10) is ...
0: 09000F00 0FAC1E00 010A [..........]
Exiting hgobegn, rc=0 at 2014/09/22-13:35:08
Entered hgodtab at 2014/09/22-13:35:08
count:1
table: XXX_INTERFACE
Allocate hoada[0] @ 0000000005F58270
Entered hgopcda at 2014/09/22-13:35:08
Column:1(InterfaceID): dtype:2 (NUMERIC), prc/scl:20/0, nullbl:0, octet:0, sign:1, radix:10
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:2(TableName): dtype:-9 (WVARCHAR), prc/scl:30/0, nullbl:0, octet:60, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:3(TableID): dtype:4 (INTEGER), prc/scl:10/0, nullbl:0, octet:0, sign:1, radix:10
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:4(StatusCode): dtype:-9 (WVARCHAR), prc/scl:30/0, nullbl:0, octet:60, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:5(StatusTimestamp): dtype:93 (TIMESTAMP), prc/scl:23/3, nullbl:0, octet:0, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
Entered hgopcda at 2014/09/22-13:35:08
Column:6(InterfaceLog): dtype:-9 (WVARCHAR), prc/scl:400/0, nullbl:1, octet:800, sign:1, radix:0
Exiting hgopcda, rc=0 at 2014/09/22-13:35:08
The hoada for table XXX_INTERFACE follows...
hgodtab, line 1073: Printing hoada @ 0000000005F58270
MAX:6, ACTUAL:6, BRC:1, WHT=6 (TABLE_DESCRIBE)
hoadaMOD bit-values found (0x40:TREAT_AS_NCHAR,0x400:UNICODE_COLUMN)
DTY NULL-OK LEN MAXBUFLEN PR/SC CST IND MOD NAME
3 DECIMAL N 22 22 20/ 0 0 0 0 InterfaceID
12 VARCHAR N 60 60 128/ 30 1000 0 440 TableName
4 INTEGER N 4 4 0/ 0 0 0 0 TableID
12 VARCHAR N 60 60 128/ 30 1000 0 440 StatusCode
91 DATE N 16 16 0/ 0 0 0 0 StatusTimestamp
12 VARCHAR Y 800 800 129/144 1000 0 440 InterfaceLog
Exiting hgodtab, rc=0 at 2014/09/22-13:35:08
Entered hgodafr, cursor id 0 at 2014/09/22-13:35:08
Free hoada @ 0000000005F58270
Exiting hgodafr, rc=0 at 2014/09/22-13:35:08
Entered hgotcis at 2014/09/22-13:35:08
Calling SQLStatistics for XXX_INTERFACE
IndexType=SQL_TABLE_STAT: cardinality=0
IndexType=1: PK_XXX_Interface
IndexType=3: IX_TableID
IndexType=3: IX_TableName
Calling SQLColumns for dbo.SQL_app_INTERFACE
#1 Column "InterfaceID": dtype=2, colsize=20, decdig=0, char_octet_length=0, cumulative avg row len=15
#2 Column "TableName": dtype=-9, colsize=30, decdig=0, char_octet_length=60, cumulative avg row len=60
#3 Column "TableID": dtype=4, colsize=10, decdig=0, char_octet_length=0, cumulative avg row len=64
#4 Column "StatusCode": dtype=-9, colsize=30, decdig=0, char_octet_length=60, cumulative avg row len=109
#5 Column "StatusTimestamp": dtype=93, colsize=23, decdig=3, char_octet_length=0, cumulative avg row len=125
#6 Column "InterfaceLog": dtype=-9, colsize=400, decdig=0, char_octet_length=800, cumulative avg row len=725
3 Index(es) found:
Index: PK_XXX_Interface, type=1, ASCENDING, UNIQUE, cardinality=0
#1 Column 1: InterfaceID
Index: IX_TableID, type=3, ASCENDING, NON-UNIQUE, cardinality=0
#1 Column 3: TableID
Index: IX_TableName, type=3, ASCENDING, NON-UNIQUE, cardinality=0
#1 Column 2: TableName
Exiting hgotcis, rc=0 at 2014/09/22-13:35:08 -
Problem Description:
ODBC functions SQLExecDirectW and SQLExecute functions return error:”DIAG [22001] [Microsoft][SQL Server Native Client 10.0]String data, right
truncation (0) “. When we enable tracing in the ODBC administrator, in the SQL.log we see that values for the arguments: ColumnSize, BufferLength, and StrLen_or_IndPtr of ODBC function SQLBindParameter are not being displayed.
Environment Used:
OS: Microsoft Windows Server 2003 R2 Standard x64 Edition.
Complier: Microsoft Visual Studio 2008 SP1 for x64.
Database: Microsoft SQL Server 2008
MDAC: Microsoft Data Access Components SDK 2.8
Note: This problem is seen only in our 64bit application. However, in 32bit
SQLExecDirectW and SQLExecute functions return successfully.
As we could not find the values of 6<sup>th</sup>, 9<sup>th</sup> and 10<sup>th</sup> arguments(ColumnSize,
BufferLength, and StrLen_or_IndPtr) passed to
SQLBindParameter in the ODBC traces for 64bit, we are not sure whether the values for the above mentioned arguments are received correctly by SQLBindParameter or not. This information would help us to debug further. So, could you please let us know why
these values are not displayed.
1)Here is the extract of the SQL.log file for 32bit where the values for SQLULEN , SQLLEN and SQLLEN* are displayed properly:
PR0CNFG 1028-15f0 ENTER SQLBindParameter
HSTMT 0x006FBDD8
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD -8 <SQL_C_WCHAR>
SWORD -9 <SQL_WVARCHAR>
SQLULEN 23
SWORD 0
PTR 0x0595EBBA
SQLLEN 46
SQLLEN * 0x05A5FB00
2)Here is the extract of the SQL.log file for 64bit where the values for SQLULEN , SQLLEN are not displayed properly and
SQLExecDirectW function return error:”DIAG
[22001] [Microsoft][SQL Server Native Client 10.0]String data, right truncation (0) “. :
PR0CNFG a78-fe4 ENTER SQLBindParameter
HSTMT 000000000431D2F0
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD -8 <SQL_C_WCHAR>
SWORD -9 <SQL_WVARCHAR>
SQLULEN SQLULEN SWORD 0
PTR 0x0000000005364EFA
SQLLEN SQLLEN
SQLLEN * SQLLEN *
PR0CNFG a78-fe4 EXIT SQLBindParameter with return code 0 (SQL_SUCCESS)
HSTMT 000000000431D2F0
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD -8 <SQL_C_WCHAR>
SWORD -9 <SQL_WVARCHAR>
SQLULEN SQLULEN SWORD 0
PTR 0x0000000005364EFA
SQLLEN SQLLEN SQLLEN *Hi Nalsr,
From my research, I found:
"[Microsoft][ODBC SQL Server Driver]String
data right truncation" error may be returned from a call to
SQLBindParameter if the size of the string parameter being used is greater than the size of the column being compared to. In other words if the
string size of the <expression> to the left of the <comparison_operator> is less than the
string size of the <expression> to the
right, ODBC may return this error.
The resolution is to make the string size of the <expression> to the
right of the <comparison_operator> less than or equal to the
string size of the <expression> on the left.
It is difficult to track down this type of problem when third party development applications are being used. ODBC Trace can be used to help determine if this problem is occuring.
Here is an example where the customer has submitted a query "select count(*) from type1 where type1 = ?", type1 is varchar(5) and the
data type being passed by the application is char[9].
Here is the relevant portion of the trace. The following information from the "exit" of SQLDescribeParam
SWORD * 0x0095e898 (12)
UDWORD * 0x0095e880 (5)
Maps to the following with the actual value in parenthesis - SQL_VARCHAR Size 5:
SQLSMALLINT *DataTypePtr
SQLUINTEGER *ParameterSizePtr
The "exit" value from SQLBindParameter provides the following
information:
SWORD 1 <SQL_PARAM_INPUT>
SWORD 1 <SQL_C_CHAR>
SQL Data Type SWORD 12 <SQL_VARCHAR>
Parameter Size UDWORD 5
SWORD 0
Value PTR 0x0181c188
Value Buffer Size SDWORD 5
String Length SDWORD * 0x0181c103 (9)
The string length parameter is the length of the
string being bound to the parameter, in this instance there is a size mismatch which results in the SQLError and the SQLErrorW with the message "[Microsoft][ODBC SQL Server
Driver]String data
right truncation" .
Hope this could be helpful.
Best regards,
Halin Huang -
Explain plan cardinallity is way off compared to actual rows being returned
Database version 11.2.0.3
We have a small but rapidly growing datawarehouse which has OBIEE as its front end reporting tool. Our DBA has set up a automatic stats gathering method in OEM and we can see that it run and gathers stats on stale objects on a regular basis. So we know the statistics are upto date.
In checking some slow queries I can see that the cardinality being reported in explain plans is way off compared to what is actually being returned.
For example the actual number of rows returned are 8000 but the cardinality estimate is > 300,000.
Now as per an Oracle White paper(The Oracle Optimizer Explain the Explain Plan) having "multiple single column predicates on a single table" can affect cardinality estimates and in case of our query that is true. Here is the "WHERE Clause section" of the query
SQL> select D1.c1 as c1,
2 D1.c2 as c2,
3 D1.c3 as c3,
4 D1.c4 as c4,
5 D1.c5 as c5,
6 D1.c6 as c6,
7 D1.c7 as c7,
8 D1.c8 as c8,
9 D1.c9 as c9,
10 D1.c10 as c10,
11 D1.c11 as c11,
12 D1.c12 as c12,
13 D1.c13 as c13,
14 D1.c14 as c14,
15 D1.c15 as c15,
16 D1.c16 as c16
17 from (select D1.c4 as c1,
18 D1.c5 as c2,
19 D1.c3 as c3,
20 D1.c1 as c4,
21 D1.c6 as c5,
22 D1.c7 as c6,
23 D1.c2 as c7,
24 D1.c8 as c8,
25 D1.c9 as c9,
26 D1.c10 as c10,
27 D1.c9 as c11,
28 D1.c11 as c12,
29 D1.c2 as c13,
30 D1.c2 as c14,
31 D1.c12 as c15,
32 'XYZ' as c16,
33 ROW_NUMBER() OVER(PARTITION BY D1.c2, D1.c3, D1.c4, D1.c5, D1.c6, D1.c7, D1.c8, D1.c9, D1.c10, D1.c11, D1.c12 ORDER BY D1.c2 ASC, D1.c3 ASC, D1.c4 ASC, D1.c5 ASC, D1.c6 ASC, D1.c
ASC, D1.c8 ASC, D1.c9 ASC, D1.c10 ASC, D1.c11 ASC, D1.c12 ASC) as c17
34 from (select distinct D1.c1 as c1,
35 D1.c2 as c2,
36 'CHANNEL1' as c3,
37 D1.c3 as c4,
38 D1.c4 as c5,
39 D1.c5 as c6,
40 D1.c6 as c7,
41 D1.c7 as c8,
42 D1.c8 as c9,
43 D1.c9 as c10,
44 D1.c10 as c11,
45 D1.c11 as c12
46 from (select sum(T610543.GLOBAL1_EXCHANGE_RATE * case
47 when T610543.X_ZEB_SYNC_EBS_FLG = 'Y' then
48 T610543.X_ZEB_AIA_U_REVN_AMT
49 else
50 0
51 end) as c1,
52 T536086.X_ZEBRA_TERRITORY as c2,
53 T526821.LEVEL9_NAME as c3,
54 T526821.LEVEL1_NAME as c4,
55 T577698.PER_NAME_FSCL_YEAR as c5,
56 T577698.FSCL_QTR as c6,
57 T31796.X_ZEBRA_TERRITORY as c7,
58 T31796.X_OU_NUM as c8,
59 T664055.TERRITORY as c9,
60 T536086.X_OU_NUM as c10,
61 T526821.LEVEL4_NAME as c11
62 from W_INT_ORG_D T613144 /* Dim_ZEB_W_INT_ORG_D_POS_Client_Attr_Direct */,
63 W_ZEBRA_REGION_D T664055 /* Dim_ZEB_W_ZEBRA_REGION_D_POS_Client_Direct */,
64 W_DAY_D T577698 /* Dim_ZEB_W_DAY_D_Order_Invoice_Date */,
65 WC_PRODUCT_HIER_DH T526821 /* Dim_WC_PRODUCT_HIER_DH */,
66 W_PRODUCT_D T32069 /* Dim_W_PRODUCT_D */,
67 W_ORG_D T31796,
68 W_ORG_D T536086 /* Dim_ZEB_W_ORG_D_Reseller */,
69 W_ORDERITEM_TMP_F T610543 /* Fact_ZEB_W_ORDERITEM_F_Direct */
70 where (T610543.PR_OWNER_BU_WID = T613144.ROW_WID and
71 T577698.ROW_WID =
72 T610543.X_ZEB_AIA_TRXN_DT_WID and
73 T32069.ROW_WID = T526821.PROD_WID and
74 T32069.ROW_WID = T610543.ROOT_LN_PROD_WID and
75 T536086.ROW_WID = T610543.ACCNT_WID and
76 T31796.DATASOURCE_NUM_ID =
77 T610543.DATASOURCE_NUM_ID and
78 T31796.INTEGRATION_ID = T610543.VIS_PR_BU_ID and
79 T536086.DELETE_FLG = 'N' and
80 T610543.X_ZEB_DELETE_FLG = 'N' and
81 T613144.X_ZEB_REGION_WID = T664055.ROW_WID and
82 T577698.FSCL_DAY_OF_YEAR < 97 and
83 '2006' < T577698.PER_NAME_FSCL_YEAR and
84 T536086.X_OU_NUM <> '11073' and
85 T536086.X_ZEBRA_TERRITORY !=
86 'XX23' and
87 T536086.X_OU_NUM != '56791647728774' and
88 T536086.X_OU_NUM != '245395890' and
89 T536086.X_ZEBRA_TERRITORY !=
90 'STRATEGIC ACCTS 2' and
91 T526821.LEVEL2_NAME != 'Charges' and
92 T526821.LEVEL9_NAME != 'Unspecified' and
93 T536086.X_ZEBRA_TERRITORY !=
94 'XX1' and T536086.X_ZEBRA_TERRITORY !=
95 'XX2' and T536086.X_ZEBRA_TERRITORY !=
96 'XX3' and T536086.X_ZEBRA_TERRITORY !=
97 'XX4' and
98 (T536086.X_ZEBRA_TERRITORY in
99 ( ... In List of 22 values )) and
125 T32069.X_ZEB_EBS_PRODUCT_TYPE is null)
126 group by T31796.X_ZEBRA_TERRITORY,
127 T31796.X_OU_NUM,
128 T526821.LEVEL1_NAME,
129 T526821.LEVEL4_NAME,
130 T526821.LEVEL9_NAME,
131 T536086.X_OU_NUM,
132 T536086.X_ZEBRA_TERRITORY,
133 T577698.FSCL_QTR,
134 T577698.PER_NAME_FSCL_YEAR,
135 T664055.TERRITORY) D1) D1) D1
136 where (D1.c17 = 1)
137 /
Elapsed: 00:00:35.19
Execution Plan
Plan hash value: 3285002974
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time | Pstart| Pstop | TQ |IN-OUT| PQ Distrib |
| 0 | SELECT STATEMENT | | 2145M| 2123G| | 612K (1)| 03:03:47 | | | | | |
| 1 | PX COORDINATOR | | | | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10012 | 2145M| 2123G| | 612K (1)| 03:03:47 | | | Q1,12 | P->S | QC (RAND) |
|* 3 | VIEW | | 2145M| 2123G| | 612K (1)| 03:03:47 | | | Q1,12 | PCWP | |
|* 4 | WINDOW NOSORT | | 2145M| 421G| | 612K (1)| 03:03:47 | | | Q1,12 | PCWP | |
| 5 | SORT GROUP BY | | 2145M| 421G| 448G| 612K (1)| 03:03:47 | | | Q1,12 | PCWP | |
| 6 | PX RECEIVE | | 2145M| 421G| | 1740 (11)| 00:00:32 | | | Q1,12 | PCWP | |
| 7 | PX SEND HASH | :TQ10011 | 2145M| 421G| | 1740 (11)| 00:00:32 | | | Q1,11 | P->P | HASH |
|* 8 | HASH JOIN BUFFERED | | 2145M| 421G| | 1740 (11)| 00:00:32 | | | Q1,11 | PCWP | |
| 9 | PX RECEIVE | | 268K| 7864K| | 93 (2)| 00:00:02 | | | Q1,11 | PCWP | |
| 10 | PX SEND HASH | :TQ10009 | 268K| 7864K| | 93 (2)| 00:00:02 | | | Q1,09 | P->P | HASH |
| 11 | PX BLOCK ITERATOR | | 268K| 7864K| | 93 (2)| 00:00:02 | | | Q1,09 | PCWC | |
| 12 | TABLE ACCESS FULL | W_ORG_D | 268K| 7864K| | 93 (2)| 00:00:02 | | | Q1,09 | PCWP | |
| 13 | PX RECEIVE | | 345K| 59M| | 1491 (2)| 00:00:27 | | | Q1,11 | PCWP | |
| 14 | PX SEND HASH | :TQ10010 | 345K| 59M| | 1491 (2)| 00:00:27 | | | Q1,10 | P->P | HASH |
|* 15 | HASH JOIN BUFFERED | | 345K| 59M| | 1491 (2)| 00:00:27 | | | Q1,10 | PCWP | |
| 16 | PX RECEIVE | | 1321 | 30383 | | 2 (0)| 00:00:01 | | | Q1,10 | PCWP | |
| 17 | PX SEND BROADCAST | :TQ10006 | 1321 | 30383 | | 2 (0)| 00:00:01 | | | Q1,06 | P->P | BROADCAST |
| 18 | PX BLOCK ITERATOR | | 1321 | 30383 | | 2 (0)| 00:00:01 | | | Q1,06 | PCWC | |
| 19 | TABLE ACCESS FULL | W_ZEBRA_REGION_D | 1321 | 30383 | | 2 (0)| 00:00:01 | | | Q1,06 | PCWP | |
|* 20 | HASH JOIN | | 345K| 52M| | 1488 (2)| 00:00:27 | | | Q1,10 | PCWP | |
| 21 | JOIN FILTER CREATE | :BF0000 | 9740 | 114K| | 2 (0)| 00:00:01 | | | Q1,10 | PCWP | |
| 22 | PX RECEIVE | | 9740 | 114K| | 2 (0)| 00:00:01 | | | Q1,10 | PCWP | |
| 23 | PX SEND HASH | :TQ10007 | 9740 | 114K| | 2 (0)| 00:00:01 | | | Q1,07 | P->P | HASH |
| 24 | PX BLOCK ITERATOR | | 9740 | 114K| | 2 (0)| 00:00:01 | | | Q1,07 | PCWC | |
| 25 | TABLE ACCESS FULL | W_INT_ORG_D | 9740 | 114K| | 2 (0)| 00:00:01 | | | Q1,07 | PCWP | |
| 26 | PX RECEIVE | | 344K| 47M| | 1486 (2)| 00:00:27 | | | Q1,10 | PCWP | |
| 27 | PX SEND HASH | :TQ10008 | 344K| 47M| | 1486 (2)| 00:00:27 | | | Q1,08 | P->P | HASH |
| 28 | JOIN FILTER USE | :BF0000 | 344K| 47M| | 1486 (2)| 00:00:27 | | | Q1,08 | PCWP | |
|* 29 | HASH JOIN BUFFERED | | 344K| 47M| | 1486 (2)| 00:00:27 | | | Q1,08 | PCWP | |
| 30 | JOIN FILTER CREATE | :BF0001 | 35290 | 964K| | 93 (2)| 00:00:02 | | | Q1,08 | PCWP | |
| 31 | PX RECEIVE | | 35290 | 964K| | 93 (2)| 00:00:02 | | | Q1,08 | PCWP | |
| 32 | PX SEND HASH | :TQ10004 | 35290 | 964K| | 93 (2)| 00:00:02 | | | Q1,04 | P->P | HASH |
| 33 | PX BLOCK ITERATOR | | 35290 | 964K| | 93 (2)| 00:00:02 | | | Q1,04 | PCWC | |
|* 34 | TABLE ACCESS FULL | W_ORG_D | 35290 | 964K| | 93 (2)| 00:00:02 | | | Q1,04 | PCWP | |
| 35 | PX RECEIVE | | 344K| 38M| | 1392 (2)| 00:00:26 | | | Q1,08 | PCWP | |
| 36 | PX SEND HASH | :TQ10005 | 344K| 38M| | 1392 (2)| 00:00:26 | | | Q1,05 | P->P | HASH |
| 37 | JOIN FILTER USE | :BF0001 | 344K| 38M| | 1392 (2)| 00:00:26 | | | Q1,05 | PCWP | |
|* 38 | HASH JOIN BUFFERED | | 344K| 38M| | 1392 (2)| 00:00:26 | | | Q1,05 | PCWP | |
| 39 | PX RECEIVE | | 93791 | 4671K| | 7 (0)| 00:00:01 | | | Q1,05 | PCWP | |
| 40 | PX SEND HASH | :TQ10001 | 93791 | 4671K| | 7 (0)| 00:00:01 | | | Q1,01 | P->P | HASH |
| 41 | PX BLOCK ITERATOR | | 93791 | 4671K| | 7 (0)| 00:00:01 | | | Q1,01 | PCWC | |
|* 42 | TABLE ACCESS FULL | WC_PRODUCT_HIER_DH | 93791 | 4671K| | 7 (0)| 00:00:01 | | | Q1,01 | PCWP | |
|* 43 | HASH JOIN | | 894K| 57M| | 1384 (2)| 00:00:25 | | | Q1,05 | PCWP | |
| 44 | JOIN FILTER CREATE | :BF0002 | 243K| 1904K| | 48 (3)| 00:00:01 | | | Q1,05 | PCWP | |
| 45 | PX RECEIVE | | 243K| 1904K| | 48 (3)| 00:00:01 | | | Q1,05 | PCWP | |
| 46 | PX SEND HASH | :TQ10002 | 243K| 1904K| | 48 (3)| 00:00:01 | | | Q1,02 | P->P | HASH |
| 47 | PX BLOCK ITERATOR | | 243K| 1904K| | 48 (3)| 00:00:01 | | | Q1,02 | PCWC | |
|* 48 | TABLE ACCESS FULL | W_PRODUCT_D | 243K| 1904K| | 48 (3)| 00:00:01 | | | Q1,02 | PCWP | |
| 49 | PX RECEIVE | | 894K| 50M| | 1336 (2)| 00:00:25 | | | Q1,05 | PCWP | |
| 50 | PX SEND HASH | :TQ10003 | 894K| 50M| | 1336 (2)| 00:00:25 | | | Q1,03 | P->P | HASH |
| 51 | JOIN FILTER USE | :BF0002 | 894K| 50M| | 1336 (2)| 00:00:25 | | | Q1,03 | PCWP | |
|* 52 | HASH JOIN | | 894K| 50M| | 1336 (2)| 00:00:25 | | | Q1,03 | PCWP | |
| 53 | PX RECEIVE | | 292 | 3504 | | 136 (0)| 00:00:03 | | | Q1,03 | PCWP | |
| 54 | PX SEND BROADCAST LOCAL| :TQ10000 | 292 | 3504 | | 136 (0)| 00:00:03 | | | Q1,00 | P->P | BCST LOCAL |
| 55 | PX BLOCK ITERATOR | | 292 | 3504 | | 136 (0)| 00:00:03 | | | Q1,00 | PCWC | |
|* 56 | TABLE ACCESS FULL | W_DAY_D | 292 | 3504 | | 136 (0)| 00:00:03 | | | Q1,00 | PCWP | |
| 57 | PX BLOCK ITERATOR | | 4801K| 215M| | 1199 (2)| 00:00:22 | 1 | 11 | Q1,03 | PCWC | |
|* 58 | TABLE ACCESS FULL | W_ORDERITEM_TMP_F | 4801K| 215M| | 1199 (2)| 00:00:22 | 1 | 44 | Q1,03 | PCWP | |
Note
- dynamic sampling used for this statement (level=5)
Statistics
498 recursive calls
2046 db block gets
1193630 consistent gets
74398 physical reads
0 redo size
655170 bytes sent via SQL*Net to client
11761 bytes received via SQL*Net from client
541 SQL*Net roundtrips to/from client
64 sorts (memory)
0 sorts (disk)
8090 rows processed
SQL>So my question is if, cardinality estimates are way off, is that an indicator that the explain plans being generated are sub-optimal?
Can you provide me with some tips or links to blog post or books on how I approach tuning such queries where cardinalities are not good?
Edited by: qqq on Apr 7, 2013 2:27 PMAs already asked in your other thread:
Please see the FAQ for how to post a tuning request and the information that you need to provide.
Part of that information is:
1. DDL for the table and indexes
2. The query being used
3. row counts for the table and for the predicates used in the query
4. info about stats. You did update the table and index stats didn't you?
5. The 'actual' execution plans.
An explain plan just shows what Oracle 'thinks' it is going to do. The actual plans show what Oracle actually 'did' do. Just because Oracle expected to save doesn't mean the savings were actually achieved.
When you post the plans use on the line before and on the line after to preserve formatting.
Your partial code is virtually unusable because of the missing conditions in the predicates. You need to use '!=' for 'not equals' if that's what those missing conditions are.
Please edit your post to use code tags, add the missing conditions and provide the other information needed for a tuning request. -
How to avoid seriously bad behaviour in 11g ODBC reading TIMESTAMP fields?
Hi everyone.
I thought that we'd got past all the TIMESTAMP related problems in the ODBC driver, but here is another one!
I have a problem which I'd like to share, hoping that someone has an idea why this happens... I have an expensive workaround, but maybe someone has a better idea.
It might also help any people who are looking for otherwise unexplained crashes (Microsoft Visual C++ just terminates a program without comment if the described behaviour happens to overwrite a buffer overrun marker on the stack, for example).
Using 11g ODBC driver, client and server 11.2.0.1 ...
with table definitions like...
create table X (A TIMESTAMP);
session settings like:
alter session set NLS_TIMESTAMP_FORMAT='RRRR-MM-DD HH24.MI.SS.FF6' NLS_DATE_FORMAT='RRRR-MM-DD HH24.MI.SS'";
and an application select statement like:
select A from X;
(Notice that "select CURRENT_TIMESTAMP from DUAL" does NOT exhibit this behaviour - it ignores the NLS_TIMESTAMP_FORMAT, that's another story).
An ODBC application with the following column bind
SQLCHAR chTS[27];
long cbTS;
odbcrc = SQLBindCol(hstmt, 1, SQL_C_CHAR, chTS, 27, &cbTS);
odbcrc = SQLExecute(hstmt);
odbcrc = SQLFetch(hstmt);
will ** OVERWRITE ** memory outside of the 27 character buffer.
Observed in a debugger and checked again using a structure with prefix and suffix fields around the the chTS field can prove that the OCI is actually writing the full 30 character (29 plus terminator) time stamp with 9 decimal place seconds value into the user provided (27 byte!) field and then truncating it to the requested 26 bytes.
We have a workaround in that a statement with "select to_char(A)" does not display this behaviour but it means that we need to replace all our (currently mostly database non-specific) SQL with Oracle specific SQL just to handle this. Anyone have a better idea?
I'd open a bug for this, but just at the moment I don't have access to our full support identifier, one of my colleagues has this and is not available. Whatever else it does, the ODBC driver should not write outside the provided buffer.You need to specify the characterset in the CREATE TABLE statement. See this MOS Doc
KUP-4021 And KUP-4023 When Selecting From An External Table Containing Diacritics (Doc ID 754396.1)
HTH
Srini -
Sudden failure of 32-bit Oracle 11g ODBC driver in 64-Bit Win7 box
I had a working ODBC connection to an Oracle DB using the 32-bit 11g ODBC driver. Suddenly I was unable to connect, getting the error:
Testing Connection
Unable to connect
SQLState=S1000
[Oracle][ODBC][Ora]ORA-00604: error occurred at recursive SQL level 1
ORA-12899: value too large for column "SYSTEM"."LOGON_AUDIT"."PROCESS" (actual: 13, maximum: 12)
ORA-06512: at line 51
OK
For a strange twist, the connection works perfectly with the workstation in Safe Mode. I've tried disabling Symantec Endpoint Protection, and adjusting the Firewall, but so far no dice. Any advice I can get will be appreciated!
Thanks
KeithHow do you get the 32bit client to communicate with the 64bit Oracle instance on the same windows box? After installing the 64 bit db and client (on a developer desktop), I installed the 32 bit client to a different oracle home. I could not get it to connect to the listener - what am I doing wrong? Should I reinstall it to the 64bit home - I'm afraid that'll kill everything though.
Also, I think I'm correct in this, but not sure: any 32bit app must use the 32bit client on the 64bit box. MS Access needs 32bit ODBC, which needs 32bit client, etc.
Thx,
Jeff -
Column order is changed in criteria tab ,result tab column order unchanged
I created a report in sample database with these columns in 11.1.1.6
1- C50 Region 2 D1 Office, 3 P1 Product 4 1-Revenue and 5 C1 Customer Name
Hit Results and I can see the result in this order.
If I change column order in result tab to say 1,5,2,3,4, result tab table view is updated. Now if I go back to criteria tab, column order remains the same ( 1,2,3,4,5)
This may be expected functionality in 11.1.1.6 but was not the case in 10g. This may be due to changes allowed in html layer.
Now if I go back to criteria tab and reorder columns (say 1,3,2,4,5) and then click result, result tab columns are not ordered as set here. Result tab continues to show 1,2,3,4,5
I saved the report with order 1,3,2,4,5 and log back in, order remains 1,2,3,45/ I believe if I restart presentation services, it will be come OK. The only way is to create a new report that I know now other than restarting presentation service.
Question
Have you observed this?
If yes, what is the solution, how can result tab refresh with the order of the columns in criteria tab?
BhupendraHi,
In OBI 11g,the column order in the criteria tab and the results tab are not coupled to each other.
When you create the report for the first time, both are in sync. If you need to reorder the columns, goto result tab and click on edit report, in the columns and measures section of the report, reorder the columns the way you desire.
Save the report and the report should have the columns in the order you have set.
P.S : this is not a bug !
Thanks,
Vineeth -
Incorrect column names returned using OCIDescribeAny
I am trying to retrieve column names using OCIDescribeAny and OCIAttrGet api calls.
The column names and the lengths of the column names returned by OCIAttrGet calls are usually correct.
Except when the length of column names are divisible by 4, an extra tab is padded at the end of the returned string by OCIAttrGet.
The length returned by the call is fine.
Example 1.
Column Name:
CITY
Results Returned by OCIAttrGet:
column name: CITY\t
column length: 4
Example 2.
Column Name:
PHONE_NUMBER
Results Returned by OCIAttrGet:
column name: PHONE_NUMBER\t
column length: 12
Does anyone has experience with this?
Edited by: simon780 on Mar 13, 2010 2:48 PM
Edited by: simon780 on Mar 13, 2010 4:03 PMThank you for answering my question, I thought I was doing something wrong, since this is my very first time using oci.
I do see non-null terminated strings mentioned from places to places on the oracle docs, but I don't see it mentioned specifically on the attribute OCI_ATTR_NAME.
Anyway, as long as I have the string length returned by the function call, then it's all good. Thank you again!! -
OK, so I'm clearly a newb. I thought if I asked a question, it would post, and now I'm being told to post a comment, so I'm asking the same question again. Sorry I sound like an idiot. I'm new to this apple/mac stuff.
Why does iTunes/iPhone 4S insist it can't find a song on my PC or my phone when it is on both? This is resulting in me being unable to use the ringtones I created from these songs, but I can still play the songs.If you have added the ringtone file correctly to iTunes, it will appear under iTunes 'Tones' library.
If you don't find Tones library in iTunes, go to iTunes menu EDIT/PRFERENCES under GENERAL tab, check the Tones Box under Library source to display Tones library in iTunes.
iTunes accepts only m4r file as ringtone and has to be less than 40secs. -
I couldn't log into my apple account on my iPad, then i couldn't unlock it resulting in it being disabled, however it's the same as my iPhones password, I then called apple, i was hung up on twice and they said it will cost £70 to fix THEIR problem, help?
If you cannot remember the passcode, you will need to restore your device using the computer with which you last synced it. This allows you to reset your passcode and resync the data from the device (or restore from a backup).
If you restore on a different computer that was never synced with the device, you will be able to unlock the device for use and remove the passcode, but your data will not be present.
You may have to force iPad/iPod into Recovery Mode
http://support.apple.com/kb/ht4097 -
How to retrieve multiple columns using "returning" in the Insert query.
hi,
wanted to know how to retrieve multiple columns using "returning" in the Insert Query.
For retrieving one column we write the query as follows:
Insert into TABLE values(1,2,3,4) returning COLUMN1 into PARAMETER
But can we retrive multiple columns in the same query?
am using oracle 10g and coding in .NETHi,
You can definetely get multiple values from a single query using the 'returning' clause.
Eg : insert into emp (empno, ename, job, deptno) values (7324,'ADAM','MARKETING',30) returning ename, deptno into var1, var2; PN : var1 & var2 to be declared as varchar2 & number respectively.
More insight into the 'RETURNING' clause in this link.
http://www.samoratech.com/PLSQL/swArtPLSQLReturn.htm
Regards,
Bhanu. -
Oracle 10g client with 11g ODBC.
We have the Oracle 10g client on users PCs to use the 10g ODBC to connect to a 10g (10.2.0.4.0) database. Now we are upgrading to an Oracle 11g database, 11.2.0.3.0. Is it possible to install the 11g ODBC drivers onto the users PCs without installing the full Oracle 11g client?
Unless you want to go down the Instant Client path, no.
However, there is probably no need to do anything to the clients. Any version of the 10g client should have no difficulty communicating with an 11.2 database. There is likely no need to upgrade the existing clients when the database is upgraded. The only exception would be if your application is trying to use some 11.2 feature that requires changes on the client to support-- those are pretty rare in this instance.
You may want to roll out 11.2 clients on new machines as they come online but that's likely about all that you need to do.
Justin -
Oracle 11g ODBC for Windows NT and Windows 95
Hi
Please does anyone knows where can I find this ODBC ? Oracle 11g ODBC for Windows NT and Windows 95
I have test some ODBC from the Oracle page but doesnt work
Thank you
J.A.I'm thinking no.
However I did find this which may help :
http://www.oracle.com/technetwork/database/windows/odbcfaq-128251.pdf
I did the search for 16 bit in it and found some interesting information.
The other piece of information I can share is the Oracle 11 client has issues connecting to Oracle 9.
An Oracle 10 clients might have a better chance, but the catch is finding it.
The last client I remember working on these OS's was Oracle 8. But I doubt that will connect to Oracle 11.
Best Regards
mseberg
Edited by: mseberg on Aug 14, 2012 6:06 PM
Later
I'm not a huge fan of when they move stuff. This spot feels a little like the island of misfit toys. -
How to install 11g ODBC client drivers to access OBIEE 11g server?
I have a user running Microsoft Excel on Wondows XP that wants to use ODBC to access an OBIEE 11g server running on Linux. The OBIEE 11g installation documentation indicates that a full install of OBIEE is required to install OBI client tools (including ODBC drivers). OBIEE version 10 had a separate client installation kit that made it very easy to install ODBC drivers. Does 11g have a client only installation kit like version 10? OR do I really have to perform a full OBIEE install on each client machine just to get the ODBC driver installed?
Any recommendations on how to install the OBIEE 11g ODBC driver, that DOES NOT require a full OBIEE installation, would be greatly appreciated.
Thanks,
Richard BrooksDoes 11g have a client only installation kit like version 10? No
do I really have to perform a full OBIEE install on each client machine just to get the ODBC driver installed?Yes
Any recommendations on how to install the OBIEE 11g ODBC driver, that DOES NOT require a full OBIEE installation, would be greatly appreciated.Wait for the next 11g patch release, it should be fixed.
Maybe you are looking for
-
How do I enter 4 digit passcode in itunes using remote app
My Apple TV is out of sync with my iPhones and iPad. I was trying to add new phone with the remote app and turned off and back on home sharing trying to find where to enter that 4 digit passcode the app gives on each devioce when you select Add an iT
-
ASCII High Level Specail characters issue in APEX!!
Hi All, We have created text area in APEX where users can enter content manually or copy the content and paste data. The key word characters are wroking fine, but other than this is not accepting and it is concverting as reverse down question mark. W
-
What's wrong with the role?
I create URL iviews and pages, preview , it is OK. Then I create workset, role, and assign to a user. When I login with the account, I can't see the pages. Anybody help?
-
The ATE system I'm working on is using rows as instruments and columns as testpoints with 1129 cards. The Terminal boards used to configure the matrix can't handle multiple 22AWG wires required. Any ideas on how best to gang signals requiring driving
-
Hello , Does anybody know what the problem might be: This code is used to refresh a variable --When i run this : select '<%=odiRef.getFlexFieldValue("1010", "300" , "USER_EMAIL" )%>' || ' - ' || '<%=odiRef.getUser( "I_USER" )%>' from dual --it works