Article ID: 191343
Article Last Modified on 3/3/2005
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_a
DBSETPROP('MYVIEW1', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW1', 'View', 'MaxRecords', 1)
USE MYVIEW1 IN 0
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_b
DBSETPROP('MYVIEW2', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW2', 'View', 'MaxRecords', 1)
CREATE CONNECTION CONN1 DATASOURCE 'CONNECT' USERID 'SA' PASSWORD ''
CREATE CONNECTION CONN2 DATASOURCE 'CONNECT' USERID 'SA' PASSWORD ''
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" SHARED ;
AS SELECT * ;
FROM mytable_a
DBSETPROP('MYVIEW1', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW1', 'View', 'MaxRecords', 1)
USE MYVIEW1 IN 0
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN2" SHARED ;
AS SELECT * ;
FROM mytable_b
DBSETPROP('MYVIEW2', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW2', 'View', 'MaxRecords', 1)
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_a
USE MYVIEW1 IN 0
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_b
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_a
DBSETPROP('MYVIEW1', 'View', 'MaxRecords', 1)
DBSETPROP('MYVIEW1','View','Fetchsize',-1)
USE MYVIEW1 IN 0
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_b
DBSETPROP('MYVIEW2', 'View', 'MaxRecords', 1)
DBSETPROP('MYVIEW2','View','Fetchsize',-1)
DBGETPROP('View Name','View','MaxRecords')
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_a
DBSETPROP('MYVIEW1', 'View', 'MaxRecords', 1)
maxrecs=DBGETPROP('MYVIEW1','View','MaxRecords')+1
DBSETPROP('MYVIEW1','View','Fetchsize',maxrecs)
USE MYVIEW1 IN 0
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN1" ;
AS SELECT * ;
FROM mytable_b
DBSETPROP('MYVIEW2', 'View', 'MaxRecords', 1)
maxrecs=DBGETPROP('MYVIEW2','View','MaxRecords')+1
DBSETPROP('MYVIEW2','View','Fetchsize',maxrecs)
Property Name Default Value -------------------------------------- SendUpdates .F. (False) UpdateType 1 SQL Update WhereType 3 Key and Modified Fields BatchUpdateCount 1 UseMemoSize 255 FetchSize 100 FetchMemo .T. (True) MaxRecords -1 (All) Tables Database Container and Table Name Comment Null String Prepared .F. (False) CompareMemo .T. (True) FetchAsNeeded .F. (False)This behavior occurs with a number of different ODBC Data Sources, including, but not limited to:
FoxPro Tables
Visual FoxPro Databases
SQL Server Databases
CREATE DATABASE TESTODBC
CREATE TABLE mytable_a ( ;
FLD_A I NULL, FLD_C C(15) NULL)
CREATE TABLE mytable_b ( ;
FLD_B I NULL,FLD_A I NULL,FLD_C C(15) NULL)
INSERT INTO mytable_a (FLD_A,FLD_C) VALUES (10452,'TEST1')
INSERT INTO mytable_b (FLD_B,FLD_A,FLD_C) VALUES (1,22345,'TEST1')
CLOSE ALL
* Begin Code
CLOSE ALL
SET SAFETY OFF
CREATE DATABASE odbcdemo
CREATE CONNECTION CONN1 DATASOURCE 'CONNECT' USERID 'SA' PASSWORD ''
CREATE SQL VIEW "MYVIEW1" ;
REMOTE CONNECT "CONN1" SHARED ;
AS SELECT * ;
FROM mytable_a
DBSETPROP('MYVIEW1', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW1', 'View', 'MaxRecords', 1)
USE MYVIEW1 IN 0
* The code fails here with a Connection Busy Message.
CREATE SQL VIEW "MYVIEW2" ;
REMOTE CONNECT "CONN1" SHARED ;
AS SELECT * ;
FROM mytable_b
DBSETPROP('MYVIEW2', 'View', 'FetchSize', 1)
DBSETPROP('MYVIEW2', 'View', 'MaxRecords', 1)
CLOSE ALL
RETURN
* End Code
DO ODBCDEMO
178760 HOWTO: Alter the Properties of a View at Run Time
Keywords: kbdatabase kbprb kbcode KB191343