New version
New version
Bugfixes is very good but what about new features?
For example for TOraQuery:
1) local sort and filter without fetch all records (only for fetched records)
2) Different preferences for "Nested Tables fields" and "Types fields"
http://forums.devart.com/viewtopic.php?f=5&t=24825
3) Option fetch records inside second thread without move current RecNo
4) http://forums.devart.com/viewtopic.php?f=5&t=24627
For example for TOraQuery:
1) local sort and filter without fetch all records (only for fetched records)
2) Different preferences for "Nested Tables fields" and "Types fields"
http://forums.devart.com/viewtopic.php?f=5&t=24825
3) Option fetch records inside second thread without move current RecNo
4) http://forums.devart.com/viewtopic.php?f=5&t=24627
Re: New version
Hello,
These features are included to our ODAC development roadmap, however, their implementation is not planned for the nearest future.
These features are included to our ODAC development roadmap, however, their implementation is not planned for the nearest future.
Re: New version
item 2 (Different preferences for "Nested Tables fields" and "Types fields")
http://forums.devart.com/viewtopic.php?f=5&t=24825
very important for our clients.
Could I up the priority of this task if I tell you the licence number?
http://forums.devart.com/viewtopic.php?f=5&t=24825
very important for our clients.
Could I up the priority of this task if I tell you the licence number?
-
- Posts: 9
- Joined: Thu 14 Feb 2013 09:11
Re: New version
This features is very important for our clients too.
Re: New version
Required better performance for:
1) if I set OraQuery1.Filtered := True; I get excess query SELECT '' TABLE_CATALOG, IC.TABLE_OWNER TABLE_SCHEMA, IC.TABLE_NAME, '' INDEX_CATALOG, IC.INDEX_OWNER INDEX_SCHEMA, IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION, DECODE(IC.DESCEND, 'ASC', 0, 1) DESCENDING FROM SYS.ALL_IND_COLUMNS IC, SYS.ALL_INDEXES I, SYS.ALL_CONSTRAINTS C WHERE IC.TABLE_OWNE
please add an option for disable this excess query.
P.S. I know about KeyFields parameter, but I don't need KeyFields for Filter.
2) My application has many Oracle sessions with the same connection string, but after each connection I have the same query
declare cursor NlsParamsCursor is SELECT * FROM nls_session_parameters;begin SELECT Nvl(Lengthb(Chr(16777216)), Nvl(Lengthb(Chr(65536)), Nvl(Lengthb(Chr(256)), 1))), Nvl(Lengthb(Chr(1)), 1) INTO :MaxCharLength, :MinCharLength FROM dual; for NlsRecord in NlsParamsCursor loop if NlsRecord.parameter = 'NLS_DATE_LANGUAGE' then :NlsDateLanguage := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_DATE_FORMAT' then :NlsDateFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_NUMERIC_CHARACTERS' then :NlsNumericCharacters := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_FORMAT' then :NlsTimeStampFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_TZ_FORMAT' then :NlsTimeStampTZFormat := NlsRecord.value; end if; end loop;end;
please, add an option for avoiding it, for example, to copy this parameters in the application source before connection.
Example (how I see it):
OraSession1.Connect;
OraSession1.CopyNLSParamsTo(OraSession2);
OraSession2.Connect; // inside check have nls params and if it clear then get from Oracle server
OraSession1.Disconnect; // auto clear nls params
1) if I set OraQuery1.Filtered := True; I get excess query SELECT '' TABLE_CATALOG, IC.TABLE_OWNER TABLE_SCHEMA, IC.TABLE_NAME, '' INDEX_CATALOG, IC.INDEX_OWNER INDEX_SCHEMA, IC.INDEX_NAME, IC.COLUMN_NAME, IC.COLUMN_POSITION, DECODE(IC.DESCEND, 'ASC', 0, 1) DESCENDING FROM SYS.ALL_IND_COLUMNS IC, SYS.ALL_INDEXES I, SYS.ALL_CONSTRAINTS C WHERE IC.TABLE_OWNE
please add an option for disable this excess query.
P.S. I know about KeyFields parameter, but I don't need KeyFields for Filter.
2) My application has many Oracle sessions with the same connection string, but after each connection I have the same query
declare cursor NlsParamsCursor is SELECT * FROM nls_session_parameters;begin SELECT Nvl(Lengthb(Chr(16777216)), Nvl(Lengthb(Chr(65536)), Nvl(Lengthb(Chr(256)), 1))), Nvl(Lengthb(Chr(1)), 1) INTO :MaxCharLength, :MinCharLength FROM dual; for NlsRecord in NlsParamsCursor loop if NlsRecord.parameter = 'NLS_DATE_LANGUAGE' then :NlsDateLanguage := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_DATE_FORMAT' then :NlsDateFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_NUMERIC_CHARACTERS' then :NlsNumericCharacters := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_FORMAT' then :NlsTimeStampFormat := NlsRecord.value; elsif NlsRecord.parameter = 'NLS_TIMESTAMP_TZ_FORMAT' then :NlsTimeStampTZFormat := NlsRecord.value; end if; end loop;end;
please, add an option for avoiding it, for example, to copy this parameters in the application source before connection.
Example (how I see it):
OraSession1.Connect;
OraSession1.CopyNLSParamsTo(OraSession2);
OraSession2.Connect; // inside check have nls params and if it clear then get from Oracle server
OraSession1.Disconnect; // auto clear nls params
Re: New version
Hello,
1) This query is invoked for defining key fields so that we can position the cursor to the same record after filtering. Therefore, to avoid query execution, you should set the KeyFields property.
2) Thank you for the information, we will fix the AssignConnect method behaviour so that this query won't be re-invoked
1) This query is invoked for defining key fields so that we can position the cursor to the same record after filtering. Therefore, to avoid query execution, you should set the KeyFields property.
2) Thank you for the information, we will fix the AssignConnect method behaviour so that this query won't be re-invoked
Re: New version
1) I understand, but I do not need it because I set OraQuery1.First after OraQuery1.Filtered := True; and my query may not contain the key fields. Why not add an option to turn off this request?
2) Please add this as an option, not as always the right decision.
2) Please add this as an option, not as always the right decision.
Re: New version
Hello,
1) Our components have quite a lot of service queries executed for retrieving data from a server, and we cannot add options for enabling and disabling these queries. In addition, commonly, there are key fields in tables, but if you have no such fields in your query, you can set them in the KeyFields property in order to avoid metadata retrieving. If you have a source code version, you can disable this query execution by yourself - we will prompt the appropriate piece of code.
2) ODAC has a provided method of "copying" of all AssignConnect connection parameters; if you want to copy just some of them, you can implement your method in a descendant from TOraSession and copy the needed properties.
1) Our components have quite a lot of service queries executed for retrieving data from a server, and we cannot add options for enabling and disabling these queries. In addition, commonly, there are key fields in tables, but if you have no such fields in your query, you can set them in the KeyFields property in order to avoid metadata retrieving. If you have a source code version, you can disable this query execution by yourself - we will prompt the appropriate piece of code.
2) ODAC has a provided method of "copying" of all AssignConnect connection parameters; if you want to copy just some of them, you can implement your method in a descendant from TOraSession and copy the needed properties.
Re: New version
please add
const
SQL_MERGE = 189;
const
SQL_MERGE = 189;
Re: New version
hello,
Please explain what kind of constant it is and where it should be added, and provide a link to the official Oracle documentation about the constant
Please explain what kind of constant it is and where it should be added, and provide a link to the official Oracle documentation about the constant
Re: New version
You have SQLType constans like SQL_Insert, SQL_Delete, SQL_Update, but you don't have SQLType constant for merge operator. I don't have link for official documentation, it number was obtained from experimental method from debug SQLType result after execute merge statement.
Re: New version
Hello,
We couldn't find the description of such attribute in the Oracle documentation. According to the documentation ( http://docs.oracle.com/cd/E11882_01/app ... tm#i428664 ), we have the OCI_ATTR_STMT_TYPE attribute described completely, and its type is defined correctly. Please provide a link to the Oracle documentation describing the specified type in order for us to implement this kind of behaviour correctly.
We couldn't find the description of such attribute in the Oracle documentation. According to the documentation ( http://docs.oracle.com/cd/E11882_01/app ... tm#i428664 ), we have the OCI_ATTR_STMT_TYPE attribute described completely, and its type is defined correctly. Please provide a link to the Oracle documentation describing the specified type in order for us to implement this kind of behaviour correctly.
Re: New version
New AssignConnect with copy NLS params available in ODAC version 9?
Re: New version
Hello,
We have investigated the problem more deeply - this behaviour (an NLS parameters query when opening connection) is correct, because we don't know whether the connection was "created" by the AssignConnect method or the parameters were set manually, and we have to define NLS parameters on each connection opening. These parameters won't be defined in the only case - if the AssignConnect method is applied to an already opened connection.
We have investigated the problem more deeply - this behaviour (an NLS parameters query when opening connection) is correct, because we don't know whether the connection was "created" by the AssignConnect method or the parameters were set manually, and we have to define NLS parameters on each connection opening. These parameters won't be defined in the only case - if the AssignConnect method is applied to an already opened connection.