Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Setting Jet Provider Property

299 views
Skip to first unread message

Rich Sienkiewicz

unread,
Aug 19, 2002, 4:29:15 PM8/19/02
to
I'm new to OLE DB programming. Been using ADO but we are
switching. Been doing ok but I've run into a something I
can't seem to find out how to do.

I'd like the ser the max buffer size property of the Jet
provider. It is called DBPROP_JETOLEDB_MAXBUFFERSIZE
though I can't find that define anywhere in any header
files, much less on what object to set it with.

Previously in ADO this was easy: get the properties
collection from the ADOConnection object, find the one
named "Jet OLEDB:Max Buffer Size" and set its value.

But I can't fiugre out how to do this using straight OLE
DB. I'm sure it easy but I can't figure it out via the
docs.

Thanks,
Rich

Rich

Roy Fine

unread,
Aug 19, 2002, 5:05:04 PM8/19/02
to
Rich,

MAXBUFFERSIZE is a session property for the Jet provider. search msdn for
DBPROP_JETOLEDB_MAXBUFFERSIZE

here's the brief description :

Type: VT_I4
Typical R/W: R/W
Description: Jet OLEDB:Max Buffer Size
The largest amount of memory, in kilobytes, that Jet can use before it
starts flushing changes to disk.

best regards
roy fine


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message
news:481e01c247bf$15e28e90$a4e62ecf@tkmsftngxa06...

Rich Sienkiewicz

unread,
Aug 19, 2002, 8:38:53 PM8/19/02
to
Roy,

I know what it is and I know what it does. I was setting
it via ADO using the ADOConnection object. I just have no
idea how to programmatically do it using OLE DB. That is,
I have a data source and a session, and before I start
executing commands, I want to set this property. How?
It's on the session object, yes, but how exactly to set
it?

Plus even if I did know how to set it, I can't find
DBPROP_JETOLEDB_MAXBUFFERSIZE defined anywhere in any
header. Where does that come from?


Thanks,
Rich

Yuancai (Charlie) Ye

unread,
Aug 19, 2002, 10:01:08 PM8/19/02
to
Hi,
I think that you need to use the interface
ISessionProperties::SetProperties. The GUID of this group is:
const GUID DBPROPSET_JETOLEDB_SESSION =
{0xb20f6c12,0x9b2a,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
which is defined in the file msjetoledb.h. You can find this file in
platform SDK.

--
Yuancai (Charlie) Ye
Use of free SocketPro package for creating super client and server
application,
See 30 well-tested and real OLEDB examples
at http://www.udaparts.com


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message

news:4a8801c247e1$f5a0b940$b1e62ecf@tkmsftngxa04...

Roy Fine

unread,
Aug 19, 2002, 10:44:47 PM8/19/02
to
The Jet 4.0 OLE DB Provider sets the Jet OLEDB:Max Buffer Size property to 0 by
default. This allows the size of the cache to grow very large. For example, on a
256-MB computer up to 132 megabytes can be consumed by Jet. If you are using
Visual C++, the Max Buffer Size property is a session property
(DBPROPSET_JETOLEDB_SESSION property set) with the value of
DBPROP_JETOLEDB_MAXBUFFERSIZE. These constants are defined in the Msjetoledb.h
file that is included with the Microsoft Data Access SDK.


regards
roy


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message

news:4a8801c247e1$f5a0b940$b1e62ecf@tkmsftngxa04...

Roy Fine

unread,
Aug 19, 2002, 10:55:07 PM8/19/02
to
here is the include --
file://=======================================================================
// Microsoft JET OLEDB Provider
//
// Copyright Microsoft (c) 1995-9 Microsoft Corporation.
//
// Component: Microsoft JET Database Engine OLEDB Layer
//
// File: MSJETOLEDB.H
//
// File Comments: This file contains the GUIDS necessary to load the
// Microsoft JET OLEDB Layer for the JET 4.0 database
// Engine.
//
file://=======================================================================

#ifndef MSJETOLEDB_H
#define MSJETOLEDB_H

// OLE DB Provider
const GUID CLSID_JETOLEDB_3_51 =
{0xdee35060,0x506b,0x11cf,{0xb1,0xaa,0x00,0xaa,0x00,0xb8,0xde,0x95}};
const GUID CLSID_JETOLEDB_4_00 =
{0xdee35070,0x506b,0x11cf,{0xb1,0xaa,0x00,0xaa,0x00,0xb8,0xde,0x95}};

// Jet OLEDB Provider-Specific GUIDs
const GUID DBSCHEMA_JETOLEDB_REPLPARTIALFILTERLIST =
{0xe2082df0,0x54ac,0x11d1,{0xbd,0xbb,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
const GUID DBSCHEMA_JETOLEDB_REPLCONFLICTTABLES =
{0xe2082df2,0x54ac,0x11d1,{0xbd,0xbb,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
const GUID DBSCHEMA_JETOLEDB_USERROSTER =
{0x947bb102,0x5d43,0x11d1,{0xbd,0xbf,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
const GUID DBSCHEMA_JETOLEDB_ISAMSTATS =
{0x8703b612,0x5d43,0x11d1,{0xbd,0xbf,0x00,0xc0,0x4f,0xb9,0x26,0x75}};

// Jet(Access)-Specific Security Objects
const GUID DBOBJECT_JETOLEDB_FORMS =
{0xc49c842e,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
const GUID DBOBJECT_JETOLEDB_SCRIPTS =
{0xc49c842f,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}}; // These
are Macros in Access
const GUID DBOBJECT_JETOLEDB_REPORTS =
{0xc49c8430,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
const GUID DBOBJECT_JETOLEDB_MODULES =
{0xc49c8432,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};

// Private Property Set Descriptions
const GUID DBPROPSET_JETOLEDB_ROWSET =
{0xa69de420,0x0025,0x11d0,{0xbc,0x9c,0x00,0xc0,0x4f,0xd7,0x05,0xc2}};


const GUID DBPROPSET_JETOLEDB_SESSION =
{0xb20f6c12,0x9b2a,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};

const GUID DBPROPSET_JETOLEDB_DBINIT =
{0x82cf8156,0x9b40,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
const GUID DBPROPSET_JETOLEDB_TABLE =
{0xe64cc5fc,0x9ff2,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
const GUID DBPROPSET_JETOLEDB_COLUMN =
{0x820bf922,0x6ac8,0x11d1,{0x9f,0x02,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
const GUID DBPROPSET_JETOLEDB_TRUSTEE =
{0xc9e19286,0x9b4a,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};

// PROPIDs for DBPROPSET_JETOLEDB_ROWSET:
#define DBPROP_JETOLEDB_ODBCPASSTHROUGH 0xFD // Is this query a pass-through
query
#define DBPROP_JETOLEDB_ODBCPASSTHROUGHCONNECTSTRING 0xF2 // Jet Connect String
for pass-through query
#define DBPROP_JETOLEDB_BULKPARTIAL 0xEF // Allow partial bulk operations
#define DBPROP_JETOLEDB_ENABLEFATCURSOR 0xEE // Enable "fat cursor" caching
#define DBPROP_JETOLEDB_FATCURSORMAXROWS 0xED // # of rows to cache in "fat
cursor"
file://#define DBPROP_JETOLEDB_3_5_ENABLEIRowsetIndex 0x101 // 3.5 ONLY -
enable IRowsetIndex interface for Seek
#define DBPROP_JETOLEDB_STOREDQUERY 0x102 // Treat command text as stored
query name
#define DBPROP_JETOLEDB_VALIDATEONSET 0xEC // Check validation rules on
SetData (instead of Update)
#define DBPROP_JETOLEDB_LOCKGRANULARITY 0x107 // Alcatraz Locking
Granularity - Row/Page/Default
#define DBPROP_JETOLEDB_BULKNOTRANSACTIONS 0x10C // Determines if DML bulk
operations are transacted
#define DBPROP_JETOLEDB_INCONSISTENT 0x117 // Equivalent to DAO's
dbInconsistent
#define DBPROP_JETOLEDB_PASSTHROUGHBULKOP 0x119 // Equivalent to DAO's
ReturnsRecords (inversed)

// DBPROPSET_JETOLEDB_ROWSET DBPROP_JETOLEDB_LOCKGRANULARITY Enumeration Values
#define DBPROPVAL_LG_PAGE 0x01 // Page Locking
#define DBPROPVAL_LG_ALCATRAZ 0x02 // Alcatraz Row Locking


// PROPIDs for DBPROPSET_JETOLEDB_SESSION:
#define DBPROP_JETOLEDB_RECYCLELONGVALUEPAGES 0xF9 // Whether the Jet engine
should aggressively reclaim freed after use in BLOBs
#define DBPROP_JETOLEDB_PAGETIMEOUT 0xEB
#define DBPROP_JETOLEDB_SHAREDASYNCDELAY 0xEA
#define DBPROP_JETOLEDB_EXCLUSIVEASYNCDELAY 0xE9
#define DBPROP_JETOLEDB_LOCKRETRY 0xE8
#define DBPROP_JETOLEDB_USERCOMMITSYNC 0xE7
#define DBPROP_JETOLEDB_MAXBUFFERSIZE 0xE6
#define DBPROP_JETOLEDB_LOCKDELAY 0xE5
#define DBPROP_JETOLEDB_FLUSHTRANSACTIONTIMEOUT 0xE4
#define DBPROP_JETOLEDB_IMPLICITCOMMITSYNC 0xE3
#define DBPROP_JETOLEDB_MAXLOCKSPERFILE 0xE2
#define DBPROP_JETOLEDB_ODBCCOMMANDTIMEOUT 0xDB
#define DBPROP_JETOLEDB_RESETISAMSTATS 0x104 // Determines if the ISAMSTATS
schema resets after it returns stats
#define DBPROP_JETOLEDB_CONNECTIONCONTROL 0x108 // Passive Shutdown (to
prevent others from opening the database)
#define DBPROP_JETOLEDB_ODBCPARSE 0x113 // ODBC Parsing
#define DBPROP_JETOLEDB_PAGELOCKSTOTABLELOCK 0x114 // # of pages locked in a
transaction before jet tries to promote to excl. table lock
#define DBPROP_JETOLEDB_SANDBOX 0x115
#define DBPROP_JETOLEDB_TXNCOMMITMODE 0x116 // Mode to be used when
committing transactions

// DBPROPSET_JETOLEDB_SESSION DBPROP_JETOLEDB_CONNECTIONCONTROL Enumeration
Values
#define DBPROPVAL_JCC_PASSIVESHUTDOWN 0x01 // prevent others from opening
the database
#define DBPROPVAL_JCC_NORMAL 0x02 // allow others to open the database

// DBPROPSET_JETOLEDB_SESSION DBPROP_JETOLEDB_TXNCOMMITMODE Enumeration Values
#define DBPROPVAL_JETOLEDB_TCM_FLUSH 0x01 // Synchronously commit
transactions to disk

// PROPIDs for DBPROPSET_JETOLEDB_DBINIT:
#define DBPROP_JETOLEDB_REGPATH 0xFB // Path to Jet Registry entries
#define DBPROP_JETOLEDB_SYSDBPATH 0xFA // Full Path to System Database
#define DBPROP_JETOLEDB_DATABASEPASSWORD 0x100 // Password for Database
#define DBPROP_JETOLEDB_ENGINE 0x103 // Enumeration of Jet Engine/ISAM
type/version
#define DBPROP_JETOLEDB_DATABASELOCKMODE 0x106 // Locking Granularity Scheme
("Old"/"Alcatraz" mode)
#define DBPROP_JETOLEDB_GLOBALBULKPARTIAL 0x109 // Database Default
Partial/No Partial Behavior
#define DBPROP_JETOLEDB_GLOBALBULKNOTRANSACTIONS 0x10B // Determines if DML
bulk operations are transacted
#define DBPROP_JETOLEDB_NEWDATABASEPASSWORD 0x10D // Used to set new database
password in IDBDataSourceAdmin::ModifyDataSource
#define DBPROP_JETOLEDB_CREATESYSTEMDATABASE 0x10E // Used on
IDBDataSourceAdmin::CreateDataSource to create a system database
#define DBPROP_JETOLEDB_ENCRYPTDATABASE 0x10F // Used on CreateDatasource,
Compact to determine if new database is encrypted
#define DBPROP_JETOLEDB_COMPACT_DONTCOPYLOCALE 0x110 // Don't copy per-column
locale information to the compact target
#define DBPROP_JETOLEDB_COMPACT_NOREPAIRREPLICAS 0x112 // Don't try to repair
damaged replica databases when compacting
#define DBPROP_JETOLEDB_SFP 0x118
#define DBPROP_JETOLEDB_COMPACTFREESPACESIZE 0x11A // How much free space
would be reclaimed if the db were compacted

// DBPROP_JETOLEDB_GLOBALBULKPARTIAL/DBPROP_JETOLEDB_BULKPARTIAL Enumeration
Values
#define DBPROPVAL_BP_DEFAULT 0x00 // Default (only valid for
DBPROP_JETOLEDB_BULKPARTIAL)
#define DBPROPVAL_BP_PARTIAL 0x01 // Use partial updates (like Access)
#define DBPROPVAL_BP_NOPARTIAL 0x02 // Use No Partial Behavior (all or
nothing)

// DBPROP_JETOLEDB_GLOBALNOTRANSACTIONS/DBPROP_JETOLEDB_BULKNOTRANSACTIONS
Enumeration Values
#define DBPROPVAL_BT_DEFAULT 0x00 // Default (only valid for
DBPROP_JETOLEDB_NOTRANSACTIONS)
#define DBPROPVAL_BT_NOBULKTRANSACTIONS 0x01 // Don't transact bulk
operations
#define DBPROPVAL_BT_BULKTRANSACTIONS 0x02 // Transact bulk operations

// DBPROPSET_JETOLEDB_DBINIT DBPROP_JETOLEDB_ENGINE Enumeration Values
#define JETDBENGINETYPE_UNKNOWN 0x00 // ISAM Type Unknown/ N/A
#define JETDBENGINETYPE_JET10 0x01
#define JETDBENGINETYPE_JET11 0x02
#define JETDBENGINETYPE_JET2X 0x03
#define JETDBENGINETYPE_JET3X 0x04
#define JETDBENGINETYPE_JET4X 0x05
#define JETDBENGINETYPE_DBASE3 0x10
#define JETDBENGINETYPE_DBASE4 0x11
#define JETDBENGINETYPE_DBASE5 0x12
#define JETDBENGINETYPE_EXCEL30 0x20
#define JETDBENGINETYPE_EXCEL40 0x21
#define JETDBENGINETYPE_EXCEL50 0x22
#define JETDBENGINETYPE_EXCEL80 0x23
#define JETDBENGINETYPE_EXCEL90 0x24
#define JETDBENGINETYPE_EXCHANGE4 0x30
#define JETDBENGINETYPE_LOTUSWK1 0x40
#define JETDBENGINETYPE_LOTUSWK3 0x41
#define JETDBENGINETYPE_LOTUSWK4 0x42
#define JETDBENGINETYPE_PARADOX3X 0x50
#define JETDBENGINETYPE_PARADOX4X 0x51
#define JETDBENGINETYPE_PARADOX5X 0x52
#define JETDBENGINETYPE_PARADOX7X 0x53
#define JETDBENGINETYPE_TEXT1X 0x60
#define JETDBENGINETYPE_HTML1X 0x70

// DBPROPSET_JETOLEDB_DBINIT DBPROP_JETOLEDB_DATABASELOCKMODE Enumeration Values
#define DBPROPVAL_DL_OLDMODE 0x00 // Original Jet Database Locking Scheme
#define DBPROPVAL_DL_ALCATRAZ 0x01 // Alcatraz Technology - enables
row-level locking

// PROPIDs for DBPROPSET_JETOLEDB_TABLE:
#define DBPROP_JETOLEDB_LINK 0xF7 // Is this table really a link?
#define DBPROP_JETOLEDB_LINKEXCLUSIVE 0xF6 // Should this link be opened
exclusively on the remote database
#define DBPROP_JETOLEDB_LINKDATASOURCE 0xF5 // Remote data source to which
to link
#define DBPROP_JETOLEDB_LINKPROVIDERSTRING 0xF4 // Jet Provider string to be
used to connect to the remote data source
#define DBPROP_JETOLEDB_LINKREMOTETABLE 0xF3 // remote table name of the
link
#define DBPROP_JETOLEDB_LINKCACHE_AUTHINFO 0xF0 // Should authentication
information for this link be cached in the database?
#define DBPROP_JETOLEDB_VALIDATIONRULE 0xD8 // Table Validation Rule
#define DBPROP_JETOLEDB_VALIDATIONTEXT 0xD7 // Access Text to display when
validation rule is not met
#define DBPROP_JETOLEDB_HIDDENINACCESS 0x10A // Determines if a table shows
up as "hidden" in MS Access

// PROPIDs for DBPROPSET_JETOLEDB_COLUMN:
#define DBPROP_JETOLEDB_COL_HYPERLINK 0xE1 // Hyperlink flag - use on
"LongText" fields only
#define DBPROP_JETOLEDB_COL_ALLOWZEROLENGTH 0xE0 // Allow Zero Length Strings
#define DBPROP_JETOLEDB_COL_COMPRESSED 0xDF // Compressed Text Columns (Red
4.x only)
#define DBPROP_JETOLEDB_COL_ONELVPERPAGE 0xDE // Put more than one BLOB on a
page (size allowing)?
#define DBPROP_JETOLEDB_COL_AUTOGENERATE 0xDD // Autogenerate the value (GUID
columns only)
#define DBPROP_JETOLEDB_COL_IISAMNOTLAST 0xDC // used to tell the IISAM you
intend to add more columns after this one
#define DBPROP_JETOLEDB_COL_VALIDATIONRULE 0xDA // Column validation rule
#define DBPROP_JETOLEDB_COL_VALIDATIONTEXT 0xD9 // column validation text to
display when validation rule is not met

// PROPIDs for DBPROPSET_COLUMN:
#ifndef DBPROP_COL_SEED
#define DBPROP_COL_SEED 0x11AL
#endif // DBPROP_COL_SEED

#ifndef DBPROP_COL_INCREMENT
#define DBPROP_COL_INCREMENT 0x11BL
#endif // DBPROP_COL_INCREMENT

// PROPIDs for DBPROPSET_JETOLEDB_TRUSTEE:
#define DBPROP_JETOLEDB_TRUSTEE_PIN 0x105 // Jet User pin (Username +
Pin --> SID)

#endif file://MSJETOLEDB_H


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message

news:4a8801c247e1$f5a0b940$b1e62ecf@tkmsftngxa04...

Roy Fine

unread,
Aug 19, 2002, 11:13:30 PM8/19/02
to
the value is :

#define DBPROP_JETOLEDB_MAXBUFFERSIZE 0xE6

roy fine


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message

news:4a8801c247e1$f5a0b940$b1e62ecf@tkmsftngxa04...

Roy Fine

unread,
Aug 19, 2002, 11:12:30 PM8/19/02
to
instantiating a data source, setting properties, and creating a session is a
non-trivial task. yuou need a quick tutorial on oledb programming. i strongly
suggest that you search msdn - especially, have a look at the sample oledb
consumer.

Look in:
Appendix F: Sample OLE DB Consumer Application

roy fine


"Rich Sienkiewicz" <rich.sie...@dictaphone.com> wrote in message

news:4a8801c247e1$f5a0b940$b1e62ecf@tkmsftngxa04...

Rich Sienkiewicz

unread,
Aug 20, 2002, 8:30:00 AM8/20/02
to
Thanks guys.

>.
>

0 new messages