Bonjour,
Nous avons migrer la base Oracle 10g1 vers Oracle 10g2, de même que les clients installés sur les postes.
Depuis, l'application développé en VB6 qui utilise OraOleDb pour se connecter, met plus de 30 secondes pour se connecter à la base
1 2 3 4 5 6 7 8 9
| Public dba_Connect As ADODB.Connection
Set dba_Connect = CreateObject("ADODB.connection")
str_Connect = "Provider=OraOLEDB.Oracle;" _
& "Data Source=" + cbo_Instance.Value + ";" _
& "User ID=" + strUser + ";" _
& "Password=" + strPass + ";" _
& "Persist Security Info=False;"
dba_Connect.ConnectionString = str_Connect
dba_Connect.Open |
J'ai mis un timer avant et après l'instruction "dba_Connect.Open", et il met plus de 30 secondes à passer, alors qu'avant c'était instantané!
J'ai vu que des nouveaux paramètres étaientt apparu avec "Oracle Provider for OLE DB 10.2.0.4.0" qui sont à ajouter dans le str_Connect :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| DBNotifications
The DBNotifications attribute specifies whether or not to subscribe to high
availability events. Valid values are 0 (FALSE) and 1 (TRUE). The default
is FALSE, which indicates that OraOLEDB does not subscribe to high
availability events. If this attribute is not provided at the connection
time, then the default registry value is used.
DBNotificationPort
The DBNotificationPort attribute specifies the port number, which is used to
listen to the database notifications. The valid value is an unsigned integer.
DBNotificationPort is effective only if the DBNotifications attribute is set
to TRUE, either through the connection string attribute or by registry entry.
The default for the DBNotificationPort attribute is 0, which implies that
OraOLEDB opens a valid port randomly. OraOLEDB does not validate the port
number, so it is the responsibility of the application to specify a valid
port number. |
A quoi cela sert-il exactement ? est ce obligatoire ?
De même, j'ai vu qu'une ligne pouvait être ajoutée aussi dans sqlnet.ora:
SQLNET.OUTBOUND_CONNECT_TIMEOUT = 3
A quoi cela sert-elle exactement ? est ce nécessaire ?
Voici mon SQLNET.ORA :
1 2 3 4 5 6
| # sqlnet.ora Network Configuration File: C:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) |
Voici mon TNSNAMES.ORA:
1 2 3 4 5 6 7 8 9
| MABASE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERV00)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MABASE.SERV00)
)
) |
Merci d'avance de vos suggestions.
Partager