Maybe you are like me and have a dblink in the query ... the dblink will still use TNS
Search found 51 matches
- Mon 16 Nov 2020 16:03
- Forum: dotConnect for Oracle
- Topic: ORA-12170 TNS:Connect timeout occurred, but not using TNS
- Replies: 4
- Views: 8390
- Fri 01 Feb 2019 09:28
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
- Replies: 6
- Views: 12548
Re: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
When using the contact form we get a mail saying
Could not deliver message to the following recipient(s):
Failed Recipient: *masked*@ch-w*masked*rg.fr
Reason: Remote host said: 554 5.7.1 <*masked*@ch-w*masked*g.fr>: Sender address rejected: Access denied
did you get the nightly build request ?
Thank you
Could not deliver message to the following recipient(s):
Failed Recipient: *masked*@ch-w*masked*rg.fr
Reason: Remote host said: 554 5.7.1 <*masked*@ch-w*masked*g.fr>: Sender address rejected: Access denied
did you get the nightly build request ?
Thank you
- Tue 29 Jan 2019 17:35
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
- Replies: 6
- Views: 12548
Re: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
SQL> select * from v$nls_parameters;
Code: Select all
PARAMETER VALUE CON_ID
---------------------------------------------------------------- ---------------------------------------------------------------- ----------
NLS_LANGUAGE FRENCH 0
NLS_TERRITORY FRANCE 0
NLS_CURRENCY € 0
NLS_ISO_CURRENCY FRANCE 0
NLS_NUMERIC_CHARACTERS , 0
NLS_CALENDAR GREGORIAN 0
NLS_DATE_FORMAT DD/MM/RR 0
NLS_DATE_LANGUAGE FRENCH 0
NLS_CHARACTERSET WE8ISO8859P15 0
NLS_SORT FRENCH 0
NLS_TIME_FORMAT HH24:MI:SSXFF 0
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF 0
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR 0
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR 0
NLS_DUAL_CURRENCY € 0
NLS_NCHAR_CHARACTERSET AL16UTF16 0
NLS_COMP BINARY 0
NLS_LENGTH_SEMANTICS BYTE 0
NLS_NCHAR_CONV_EXCP FALSE 0
19 lignes sélectionnées.
- Tue 29 Jan 2019 12:13
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
- Replies: 6
- Views: 12548
Re: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
Hi,
Can you please try this sample on an oracle 12c server and compile the project with delphi RIO 10.3 ?
Create an user TEST/TEST and change the server connection string inside the button event
Thank you
Can you please try this sample on an oracle 12c server and compile the project with delphi RIO 10.3 ?
Create an user TEST/TEST and change the server connection string inside the button event
Thank you
Code: Select all
CREATE OR REPLACE PROCEDURE test_journalhisto(
jcx_no IN OUT varchar2,
jcx_poste IN varchar2,
jcx_utilos IN varchar2,
jcx_utilatal IN varchar2,
jcx_comm IN varchar2,
mode_appel IN number,
err_num OUT NUMBER,
err_msg OUT VARCHAR2) IS
BEGIN
jcx_no := 822431;
COMMIT WORK;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK WORK;
err_num := SQLCODE;
err_msg := jcx_no||' *'||jcx_poste||' *'||jcx_utilos||' *'||jcx_utilatal||' *'||jcx_comm||chr(13)||chr(10)||SUBSTR(SQLERRM,1,400);
END;
/
Code: Select all
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, OraCall, Data.DB, DBAccess, Ora, MemDS;
type
TForm1 = class(TForm)
PROC_TEST: TOraStoredProc;
OraButton1: TButton;
OraSession: TOraSession;
procedure OraButton1Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.OraButton1Click(Sender: TObject);
begin
with OraSession do
begin
Username := 'TEST';
Server := 'ORA12SERVER:1521:ATAL';
Password := 'TEST';
AutoCommit := False;
Options.Charset := 'WE8ISO8859P15';
Options.DateFormat := 'DD/MM/YYYY';
Options.DateLanguage := 'FRENCH';
Options.Direct := True;
// Options.Net := True;
Options.NeverConnect := True;
Connected := True;
end;
with PROC_TEST do
begin
ParamByName('JCX_NO').AsString := '';
ParamByName('JCX_POSTE').AsString := 'Info';
ParamByName('JCX_UTILOS').AsString := 'User';
ParamByName('JCX_UTILATAL').AsString := '871';
ParamByName('JCX_COMM').AsString := '';
ParamByName('MODE_APPEL').AsInteger := 2;
ExecProc;
if ParamByName('ERR_NUM').AsInteger<>0 then ShowMessage('BAD')
else ShowMessage('OK');
end;
end;
end.
Code: Select all
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 336
ClientWidth = 293
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object OraButton1: TButton
Left = 56
Top = 208
Width = 145
Height = 73
Caption = 'ORA-01460'
TabOrder = 0
OnClick = OraButton1Click
end
object PROC_TEST: TOraStoredProc
StoredProcName = 'TEST_JOURNALHISTO'
Session = OraSession
SQL.Strings = (
'begin'
' TEST_JOURNALHISTO(:JCX_NO, :JCX_POSTE, :JCX_UTILOS, :JCX_UTILA' +
'TAL, :JCX_COMM, :MODE_APPEL, :ERR_NUM, :ERR_MSG);'
'end;')
Left = 160
Top = 40
ParamData = <
item
DataType = ftString
Name = 'JCX_NO'
ParamType = ptInputOutput
Value = nil
end
item
DataType = ftString
Name = 'JCX_POSTE'
ParamType = ptInput
Value = nil
end
item
DataType = ftString
Name = 'JCX_UTILOS'
ParamType = ptInput
Value = nil
end
item
DataType = ftString
Name = 'JCX_UTILATAL'
ParamType = ptInput
Value = nil
end
item
DataType = ftString
Name = 'JCX_COMM'
ParamType = ptInput
Value = nil
end
item
DataType = ftFloat
Name = 'MODE_APPEL'
ParamType = ptInput
Value = nil
end
item
DataType = ftFloat
Name = 'ERR_NUM'
ParamType = ptOutput
Value = nil
end
item
DataType = ftString
Name = 'ERR_MSG'
ParamType = ptOutput
Value = nil
end>
CommandStoredProcName = 'TEST_JOURNALHISTO'
end
object OraSession: TOraSession
Options.DateFormat = 'DD/MM/RR'
Options.KeepDesignConnected = False
AutoCommit = False
Left = 74
Top = 41
end
end
- Mon 28 Jan 2019 15:26
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
- Replies: 6
- Views: 12548
ODAC 10.3.9 AV inside execproc ora-01460 unimplemented or unreasonable conversion requested
Hello,
We get the error ora-01460 unimplemented or unreasonable conversion requested
with oracle release 1201000100 when calling a stored procedure with empty varchar2 parameters.
with oracle release 1102000400 the same call does not produce the error.
ABBENDUM : The error only occurs on Direct OraNet mode, not in OCI mode (tested with v10 and v12 client both are ok)
EDIT : (use oracle 12 and direct mode)
Empty string assignation to parameters triggers the issue when calling execproc
I'm trying to create a small example to reproduce the issue
We get the error ora-01460 unimplemented or unreasonable conversion requested
with oracle release 1201000100 when calling a stored procedure with empty varchar2 parameters.
with oracle release 1102000400 the same call does not produce the error.
ABBENDUM : The error only occurs on Direct OraNet mode, not in OCI mode (tested with v10 and v12 client both are ok)
EDIT : (use oracle 12 and direct mode)
Empty string assignation to parameters triggers the issue when calling execproc
I'm trying to create a small example to reproduce the issue
- Fri 28 Dec 2018 16:02
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.8 AV inside TOCIRecordSet.InitFetchCursor function IsValidCursor
- Replies: 2
- Views: 1349
Re: ODAC 10.3.8 AV inside TOCIRecordSet.InitFetchCursor function IsValidCursor
Ok great to know you allready fixed it !
We are not completely ready for RIO yet (many compiler warnings), so january will be fine for us.
I wish you a Good Weekend, Merry Christmas, and a Happy new Year !
Cheers
We are not completely ready for RIO yet (many compiler warnings), so january will be fine for us.
I wish you a Good Weekend, Merry Christmas, and a Happy new Year !
Cheers
- Fri 28 Dec 2018 10:23
- Forum: Oracle Data Access Components
- Topic: ODAC 10.3.8 AV inside TOCIRecordSet.InitFetchCursor function IsValidCursor
- Replies: 2
- Views: 1349
ODAC 10.3.8 AV inside TOCIRecordSet.InitFetchCursor function IsValidCursor
With Delphi RIO 10.3 and ODAC 10.3.8
we encouter an AV inside Unit OraClasses méthod TOCIRecordSet.InitFetchCursor.
The function IsValidCursor fails when it reaches the sentence OCISvcCtx.Home.OCIVersion
This happens everywhere when an oracle procedure returns a cursor.
What is even more strange is that it fails at the same place regardless off the connection using OCi or Direct MODE.
When debugging OCISvcCtx value is nil
Server is an Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
When in OCI mode client is a 12.1.0.2.0 instantclient
If we change the sentence to
if assigned(OCISvcCtx) and (OCISvcCtx.Home.OCIVersion >= 9100) then // supported starting with 9.1
it works again
But we don't know if the fix is ok or if something else is required
we encouter an AV inside Unit OraClasses méthod TOCIRecordSet.InitFetchCursor.
The function IsValidCursor fails when it reaches the sentence OCISvcCtx.Home.OCIVersion
This happens everywhere when an oracle procedure returns a cursor.
What is even more strange is that it fails at the same place regardless off the connection using OCi or Direct MODE.
When debugging OCISvcCtx value is nil
Code: Select all
procedure TOCIRecordSet.InitFetchCursor;
function IsValidCursor(Cursor: TOraCursor): Boolean;
var
State: integer;
begin
if (Cursor = nil) or (Cursor.hOCIStmt = nil) then
Result := False
else begin
if OCISvcCtx.Home.OCIVersion >= 9100 then // supported starting with 9.1
Check(OCI8.OCIAttrGet2(Cursor.OCIStmt, OCI_HTYPE_STMT, State, nil, OCI_ATTR_STMT_STATE, CISvcCtx.hOCIError))
else
State := OCI_STMT_STATE_EXECUTED;
Result := (State = OCI_STMT_STATE_EXECUTED);
end;
end;
var
i: integer;
Cursor: TOraCursor;
begin
FFetchCursor := FCommand.FCursorRef;
if FCommand.NativeCursor and (FCommand.FSQLType = SQL_PLSQL) then begin
// read implicit result sets
FCommand.InitResultSets;
FFetchCursor := nil;
if FCommand.FResultSets <> nil then
for i := 0 to FCommand.FResultSets.Count - 1 do begin
Cursor := FCommand.FResultSets[i];
if IsValidCursor(Cursor) then begin
FFetchCursor := Cursor;
Break;
end;
end;
if FFetchCursor = nil then
for i := 0 to FCommand.Params.Count - 1 do
if FCommand.GetParam(i).DataType = dtCursor then begin
Cursor := FCommand.GetParam(i).GetAsCursor;
if IsValidCursor(Cursor) then begin
FFetchCursor := Cursor;
Break;
end;
end;
// redefine command type - depend on cursor: canbe executed or not
if FFetchCursor = nil then
FCommand.CommandType := ctStatement
else
FCommand.CommandType := ctCursor;
end;
end;
When in OCI mode client is a 12.1.0.2.0 instantclient
If we change the sentence to
if assigned(OCISvcCtx) and (OCISvcCtx.Home.OCIVersion >= 9100) then // supported starting with 9.1
it works again
But we don't know if the fix is ok or if something else is required
- Wed 25 Oct 2017 15:19
- Forum: Oracle Data Access Components
- Topic: ODAC and Oracle Database Security
- Replies: 11
- Views: 4394
Re: ODAC and Oracle Database Security
Thank you Maxim,
We will configure an oracle database for encryption and do some tests asap.
We will configure an oracle database for encryption and do some tests asap.
- Fri 20 Oct 2017 11:46
- Forum: Oracle Data Access Components
- Topic: ODAC and Oracle Database Security
- Replies: 11
- Views: 4394
Re: ODAC and Oracle Database Security
What you have implemented is "Transparent Data Encryption". it is well explained in the links you provide and allows to encrypt fields into tables. Your documentation explains it well and it is certainly a great feature, but not what we want.MaximG wrote:The description of the mentioned in the previous post technologies is available at Oracle Help Center : Please specify the questions about Oracle Encryption and Oracle Data Integrity that should be covered in ODAC documentation.
Our feature request is to leave the data unchanged and just encrypt the tcp communication between ODAC direct mode and the Oracle Server using SSL or TLS. like explained in the same oracle documentation you provided, here https://docs.oracle.com/cd/B19306_01/ne ... m#CIHCBIEG
This is something Oracle can do for years with SQLnet (as requested by the first user of this thread in 2009) but ODAC could not do.
This should be a feature of the TOraSession to handle encrypted data for everything sent and recieved between the client and server. (Not a TdataSet property for just some fields.)
Also we have hundred of customers with individual databases and cannot start encrypting their whole databases. That's why we only want to secure de transmssion not the data.
Is there a way to officially make a feature request for this ? looks like your ingeneers just looked into encryption with this version 10.1 so maybe it's the right moment to ask again while they are still hot ?
Feature request : Can we have SSL or TLS encryption of the client-server communication at TOrasession level ? Please ?
- Thu 19 Oct 2017 09:49
- Forum: Oracle Data Access Components
- Topic: ODAC and Oracle Database Security
- Replies: 11
- Views: 4394
Re: ODAC and Oracle Database Security
I have seen this, but in the documentation you speak only of TCRencriptor componant who encrypts data in tables.MaximG wrote: - Oracle Encryption in the Direct mode is supported
- Oracle Data Integrity in the Direct mode is supported
We don't wan't to encrypt the data, only the network communication between client and server by using oracle tcps or similar.
I really like ODAC, but this will be a requirement for us
- Thu 19 Oct 2017 08:33
- Forum: Oracle Data Access Components
- Topic: ODAC and Oracle Database Security
- Replies: 11
- Views: 4394
Re: ODAC and Oracle Database Security
Hello,
Is this still the case with ODAC 10 ?
90% of our customers use direct mode. We don't want to go back to OCI clients.
We need to encryp the communication between the application and the oracle server, not the tables contents or the database.
This is required for security reasons because we work with health organisations that have increased their confidentiality requirements ?
If still not available in direct mode yet, when do you expect to add the feature ? (we need it for 2018 or will have to leave the odac solution)
Thank you
PS: WPA 2 wifi protocol has been cracked in 2017, demand for encrypted transmissions will skyrocket.
Is this still the case with ODAC 10 ?
90% of our customers use direct mode. We don't want to go back to OCI clients.
We need to encryp the communication between the application and the oracle server, not the tables contents or the database.
This is required for security reasons because we work with health organisations that have increased their confidentiality requirements ?
If still not available in direct mode yet, when do you expect to add the feature ? (we need it for 2018 or will have to leave the odac solution)
Thank you
PS: WPA 2 wifi protocol has been cracked in 2017, demand for encrypted transmissions will skyrocket.
- Thu 27 Apr 2017 08:15
- Forum: Oracle Data Access Components
- Topic: Direct connection fails after upgrade to 10.0.1
- Replies: 10
- Views: 8329
Re: Direct connection fails after upgrade to 10.0.1
+1 We also wait for this fix !
- Wed 29 Mar 2017 09:06
- Forum: Oracle Data Access Components
- Topic: Delphi 10.2 Tokyo
- Replies: 4
- Views: 2870
Re: Delphi 10.2 Tokyo
+1
Maybe a beta version allready available ? (for tests not for production)
Maybe a beta version allready available ? (for tests not for production)
- Thu 29 Jan 2015 16:26
- Forum: Oracle Data Access Components
- Topic: OCI.DLL issue with Oracle Instant Client
- Replies: 9
- Views: 9611
Re: OCI.DLL issue with Oracle Instant Client
We have also issues with customers that cannot load OCI.dll on various installations. We have all range of oracle versions from 8i to 12 mixed with all ranges of windows OS versions on x32 or x64 machines.
We are about to release all our customers with a new version of our software, some of them have 300 pc running the app so we cannot request them to make configuration changes on all PC that were running well before.
Could you not just add a compatibility switch to process homes like previous versions to avoid changing configurations ?
We are about to release all our customers with a new version of our software, some of them have 300 pc running the app so we cannot request them to make configuration changes on all PC that were running well before.
Could you not just add a compatibility switch to process homes like previous versions to avoid changing configurations ?
- Fri 16 Jan 2015 08:47
- Forum: Oracle Data Access Components
- Topic: ODAC 9.4.13 where are INITOCI and INITNET hiding ?
- Replies: 3
- Views: 1223
Re: ODAC 9.4.13 where are INITOCI and INITNET hiding ?
replacing
{ if (Wsession.Options.Net = False) then
InitOCI
else
InitNet;
}
by
OracleHomes.Init;
did the trick
Thank you Alex
{ if (Wsession.Options.Net = False) then
InitOCI
else
InitNet;
}
by
OracleHomes.Init;
did the trick
Thank you Alex