Consultor Eletrônico



Kbase P99150: The "TRANSACTION ISOLATION LEVEL" defined in ODBCINI is overridden by hsodbc?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/22/2004
Status: Unverified

SYMPTOM(s):

The "TRANSACTION ISOLATION LEVEL" defined in ODBCINI is overridden by hsodbc?

Using Oracle Heterogeneous Services (HSODBC) to connect to Progress ODBC.

CAUSE:

In ODBC, the TRANSACTION ISOLATION LEVEL is a connection attribute.

FIX:

Use the Oracle PL/SQL 'SET TRANSACTION' Statement:
DECLARE
daily_sales REAL;
weekly_sales REAL;
monthly_sales REAL;
BEGIN
...
COMMIT; -- ends previous transaction
SET TRANSACTION READ ONLY NAME 'Calculate sales figures';
SELECT SUM(amt) INTO daily_sales FROM sales
WHERE dte = SYSDATE;
SELECT SUM(amt) INTO weekly_sales FROM sales
WHERE dte > SYSDATE - 7;
SELECT SUM(amt) INTO monthly_sales FROM sales
WHERE dte > SYSDATE - 30;
COMMIT; -- ends read-only transaction
...
END;