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;