DirectConnect for Oracle

Following are issues relating to DirectConnect for Oracle.


Default character set

If the default character set for DirectConnect for Oracle does not match that of ASE/CIS and a writetext is issued to insert text, the text field is not converted as expected. For the us_english language, this should not be a problem, because the normal printing characters are the same in the supported character sets. For other languages, this can pose a problem.

The workaround is to make sure that ASE/CIS has the same default character set as DirectConnect for Oracle. For better performance, it is always best to use the same character set.


Language and character set settings

(CR 401934) DirectConnect for Oracle has multiple settings that correspond to the character set and language setting, which can set in many ways. However, you must keep the character set setting consistent with the charset, languages, and charset settings.If the configuration parameter charset is set to Sybase iso_1, the mapping coded in the “charsets” stanza must be mapped to Oracle’s equivalent character set, which is we8iso8859p1. In addition, this setting must also be reflected in the “languages” stanza by including the we8iso8859p1 in the Oracle charset setting. If these are not set consistently, when a character is used that is contained in either the Sybase or Oracle character set and not in the other, you may receive an “ORA-00911: invalid character” message.DirectConnect for Oracle converts the incoming client characters to the charset setting, which should match that of the Oracle setting. When characters are returned to the DirectConnect for Oracle client, they are converted back to the client’s character set setting.The language setting corresponds to the language in which the local DirectConnect for Oracle error messages are returned. The setting for Oracle Language and Territory coded in the languages stanza is the language in which the Oracle-defined error messages will be sent back to the client. All attempts must be made to make sure the language settings match.


Joins with char and varchar

Joins between char columns and varchar columns might not return any rows. In addition, the query returns no rows when run directly against Oracle using SQLPLUS. However, running the query against Adaptive Server with the same data will return rows. The difference arises because Sybase and Oracle have different comparison rules when the columns are not all fixed-length. The workaround is to alter the table definitions so the column definitions match.


Blank-padded comparisons

If a column c1 of type char(5) has the value “a” inserted into it, the following SQL statement will not return any rows if the table is on an Oracle database:

select...where c1 like "a"

Oracle does not make blank-padded comparison for arguments to like clauses. However, when executed against a table on Adaptive Server, the same SQL statement fetches the row.

Given the same setup, the following SQL statement returns the row when the table is on either Adaptive Server or Oracle:

select...where c1 = "a"

When c1 = “a” is used, Oracle performs blank-padded comparisons.


Admin Service user.pwd file

The Admin Service of DirectConnect 12.6.1 has been changed to read and write encrypted passwords to the user.pwd file. Earlier versions of user.pwd files are not supported with DirectConnect 12.6.1 and will result in administrator login failures. To fix this problem, you must re-enter the administrator IDs and passwords from earlier installations to the new Admin Service.


Multiple services having different admin user IDs and passwords causes an error

(CR429661) DirectConnect Manager fails with a null pointer exception when two DirectConnect for Oracle services have different admin user IDs or passwords.The problem is in DirectConnect for Oracle, a result of the admin login security being controlled by the remote Oracle database defined in the service connection string. When multiple services connect to different Oracle servers and each of those Oracle database logins are different, the login to the remote Oracle database server fails when the service is clicked on.

Workaround: If multiple DirectConnect for Oracle services connect to different Oracle databases, verify that the Oracle user ID and password is common to all Oracle databases.