mime-version: 1.0
date: Fri, 25 Jun 2010 16:40:43 -0500
content-transfer-encoding: quoted-printable
content-location: http://ww1.pervasive.com/developerzone/access_methods/Readme_pdac.htm
x-mimeole: Produced By Microsoft MimeOLE V6.00.2900.5931
from: <Saved by Windows Internet Explorer 8>
subject: Pervasive Direct Access Components Readme
content-type: text/html;
	charset="Windows-1252"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:mso=3D"urn:schemas-microsoft-com:office:office" xmlns:msdt=3D"=
uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><HEAD><TITLE>PDAC Readme v9 R2<=
/TITLE>
<META content=3D"text/html; charset=3Dwindows-1252" http-equiv=3DContent-T=
ype>
<META name=3DAUTHOR content=3D"Pervasive Software">
<META name=3DDESCRIPTION content=3D"Information about Pervasive PDAC Relea=
se">
<META name=3DOWNER content=3D"Pervasive Software Inc.">
<STYLE>BODY {
	FONT-FAMILY: Verdana, Arial, Helvetica, "MS Sans Serif"; MARGIN-LEFT: 2em=
; FONT-SIZE: 80%; MARGIN-RIGHT: 2em
}
A:link {
	FONT-FAMILY: Verdana; COLOR: #008000
}
A:active {
	FONT-FAMILY: Verdana; COLOR: #8fbc8b
}
A:visited {
	FONT-FAMILY: Verdana; COLOR: #996699
}
A:hover {
	BACKGROUND-COLOR: #996699; FONT-FAMILY: Verdana; COLOR: #ffffff
}
P {
	MARGIN-TOP: 0.6em; FONT-FAMILY: Verdana; MARGIN-BOTTOM: 0.6em
}
P.note {
	BORDER-BOTTOM: silver solid; BORDER-LEFT: silver solid; PADDING-BOTTOM: 1=
%; BACKGROUND-COLOR: #ffffee; PADDING-LEFT: 1%; PADDING-RIGHT: 1%; MARGIN-=
LEFT: 10em; BORDER-TOP: silver solid; MARGIN-RIGHT: 10em; BORDER-RIGHT: si=
lver solid; PADDING-TOP: 1%
}
P.box {
	BORDER-BOTTOM: silver solid; BORDER-LEFT: silver solid; PADDING-BOTTOM: 1=
%; BACKGROUND-COLOR: #ffffee; PADDING-LEFT: 1%; PADDING-RIGHT: 1%; MARGIN-=
LEFT: 5em; BORDER-TOP: silver solid; MARGIN-RIGHT: 5em; BORDER-RIGHT: silv=
er solid; PADDING-TOP: 1%
}
P.bigfix {
	MARGIN-TOP: -0.4em; MARGIN-BOTTOM: 0em
}
H1 {
	BORDER-BOTTOM: black solid; MARGIN-BOTTOM: 0.5em; FONT-SIZE: 160%
}
H2 {
	MARGIN-TOP: 1.5em; MARGIN-BOTTOM: 0.5em; FONT-SIZE: 140%
}
H3 {
	MARGIN-TOP: 2em; MARGIN-BOTTOM: 0.5em; COLOR: #0000cd; FONT-SIZE: 120%
}
H4 {
	MARGIN-TOP: 1.2em; MARGIN-BOTTOM: 0.5em; FONT-SIZE: 105%
}
H5 {
	FONT-STYLE: italic; MARGIN-TOP: 1.2em; MARGIN-BOTTOM: 0.5em; FONT-SIZE: 8=
9%; FONT-WEIGHT: bold
}
OL {
	MARGIN-TOP: 0.6em; MARGIN-BOTTOM: 0em; MARGIN-LEFT: 4em
}
UL {
	LIST-STYLE-TYPE: square; MARGIN-TOP: 0.6em; FONT-FAMILY: Verdana; MARGIN-=
BOTTOM: 0em
}
UL LI {
	LIST-STYLE-TYPE: square; FONT-FAMILY: Verdana; MARGIN-BOTTOM: 0em; p: Ver=
dana
}
LI P {
	FONT-FAMILY: Verdana
}
DL {
	MARGIN-TOP: 0em; FONT-FAMILY: Verdana
}
DT {
	MARGIN-TOP: 1em; FONT-FAMILY: Verdana; MARGIN-LEFT: 0em
}
DD {
	FONT-FAMILY: Verdana; MARGIN-BOTTOM: 0em; MARGIN-LEFT: 1.5em
}
DL LI {
	MARGIN-BOTTOM: 0.7em
}
DL DL {
	MARGIN-TOP: 0em; MARGIN-BOTTOM: 0em; MARGIN-LEFT: 0em
}
TABLE {
	MARGIN-TOP: 1em; MARGIN-LEFT: 0em; FONT-SIZE: 100%
}
TH {
	TEXT-ALIGN: left; FONT-FAMILY: Verdana; BACKGROUND: #d3d3d3; VERTICAL-ALI=
GN: bottom
}
TH.center {
	TEXT-ALIGN: center
}
TR {
	VERTICAL-ALIGN: top
}
TD {
	FONT-FAMILY: Verdana; VERTICAL-ALIGN: top
}
BLOCKQUOTE {
	FONT-FAMILY: Verdana
}
PRE {
	MARGIN-TOP: 1.2em; FONT-FAMILY: Courier; MARGIN-BOTTOM: 1.5em; COLOR: blu=
e; FONT-SIZE: 100%
}
CODE {
	FONT-FAMILY: Courier; COLOR: blue; FONT-SIZE: 100%
}
VAR {
	FONT-FAMILY: "MS Serif", Bookman, "Century Schoolbook"
}
.big {
	FONT-SIZE: 105%; FONT-WEIGHT: bold
}
.codecomment {
	COLOR: green
}
.specialchar {
	FONT-FAMILY: Wingdings
}
.blackback {
	BACKGROUND-COLOR: black
}
.small {
	FONT-SIZE: 80%
}
.blue {
	COLOR: blue
}
.red {
	COLOR: red
}
.term {
	COLOR: maroon
}
.indent1 {
	MARGIN-LEFT: 2em
}
.indent2 {
	MARGIN-LEFT: 4em
}
</STYLE>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18928">
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:PDB_ProductTaxHTField0 msdt:dt=3D"string">PSQL v9|7e3e4af7-15e0-439e-=
9929-f38b98b53be7</mso:PDB_ProductTaxHTField0>
<mso:PDB_Product msdt:dt=3D"string">27;#PSQL v9|7e3e4af7-15e0-439e-9929-f3=
8b98b53be7</mso:PDB_Product>
<mso:Publication_Date msdt:dt=3D"string">2006-10-01T00:00:00Z</mso:Publica=
tion_Date>
<mso:PDB_Synopsis msdt:dt=3D"string"></mso:PDB_Synopsis>
<mso:TaxCatchAll msdt:dt=3D"string">27;#PSQL v9|7e3e4af7-15e0-439e-9929-f3=
8b98b53be7</mso:TaxCatchAll>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</HEAD>
<BODY><A name=3Dtop></A>
<H1>Pervasive PSQL v9 SP2 SDK -- Pervasive Direct Access Components=20
(PDAC)<BR>Readme -- October 2006 Release</H1>
<UL>
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#overview">Overview</A>=20

  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#install">Installation</A>=20

  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2006_AUG">October=20
  2006 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2006_May">May=20
  2006 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2005_July">July=20
  2005 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2004_MAR">March=20
  2004 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2003_JUL">July=20
  2003 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2003_APR">April=20
  2003 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#2002_DEC">December=20
  2002 release</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#redist">"Redist"=20
  Subdirectory</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#include">Adding=20
  PDAC to C++ Builder's "Include" and "Library" paths</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#addtl">Information=20
  on Additional Programs Included with PDAC</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#deploy">Deploying=20
  PDAC applications</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#kissues">Known=20
  Issues</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#links">Useful=20
  Links</A>=20
  <LI><A=20
  href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sd=
k/readme_pdac.html#disclaim">Disclaimer</A>=20
  </LI></UL>
<HR>
<A name=3Doverview></A>
<H2>Overview</H2>
<P>Pervasive Direct Access Components (PDAC) are a set of Visual Component=
=20
Library (VCL) components that allow direct access to Pervasive Database En=
gines=20
from within the Borland Delphi and C++ Builder Environments. These compone=
nts=20
provide a replacement for the functionality of the Borland Database Engine=
=20
(BDE). PDAC dramatically extends the database development options availabl=
e to=20
Delphi and C++ Builder developers. </P>
<P class=3Dnote><B>Note: </B>Please review the Pervasive Developer Center =
for the=20
most recent information and updates for PDAC: <A=20
href=3D"http://www.pervasive.com/developerzone/access_methods/pdac.asp"=20
target=3D_new>http://www.pervasive.com/developerzone/access_methods/pdac.a=
sp</A>.=20
</P>
<P>The Pervasive Direct Access Components are provided in versions fully=20
integrated with the following development environments:=20
<UL>
  <LI>Delphi 2006=20
  <LI>Delphi 2005=20
  <LI>Delphi 7=20
  <LI>Delphi 6=20
  <LI>C++ Builder 6 </LI></UL>
<P></P>
<P>Compatibility with later versions of the Delphi and C++ Builder develop=
ment=20
tools will be made available after those products are released by Borland.=
 </P>
<P>No support is provided or planned for the following:=20
<UL>
  <LI>Delphi 1 (16-bit)=20
  <LI>Delphi 2=20
  <LI>Delphi 3=20
  <LI>Delphi 4=20
  <LI>Delphi 5=20
  <LI>C++ Builder 1=20
  <LI>C++ Builder 3=20
  <LI>C++ Builder 4=20
  <LI>C++ Builder 5 </LI></UL>
<P></P>
<P>This update to the PDAC package provides fixes for a number of issues=20
discovered in the components as well as providing a new dynamic cursor fea=
ture.=20
</P>
<P>You may also find informative the master readme file for the SDK. The m=
aster=20
SDK readme, readsdk.htm, is installed with the Pervasive PSQL database eng=
ine=20
and is located by default in the folder=20
PVSW\bin\plugins\com.pervasive.help.docs.psql.enus. </P>
<HR>
<A name=3Dinstall></A>
<H2>Installation</H2>
<P>To install the PDAC components for Delphi and C++ Builder, download the=
 setup=20
program from <A=20
href=3D"http://www.pervasive.com/developerzone/access_methods/pdac.asp"=20
target=3D_new>http://www.pervasive.com/developerzone/access_methods/pdac.a=
sp</A>=20
</P>
<P class=3Dbox><B>Note:</B> If you have an existing version of PDAC, you s=
hould=20
uninstall it before installing the updated PDAC components. Otherwise, the=
 PDAC=20
installation will not succeed. </P><A name=3D2006_AUG></A>
<HR>

<H2>October 2006 Release (Support for Delphi 2006)</H2>
<P>This release includes the following updates:</P>
<UL>
  <LI>Support for Delphi 2006=20
  <LI>Fix for CR 54226 (Bug in tPVTable.FindKey method when using index on=
 field=20
  with ACS)=20
  <LI>Fix for CR 54414 (PDAC Params.AsCurrency is cutting the decimal plac=
es in=20
  TpvQuery PARAMS)=20
  <LI>Fix for CR 54415 (PDAC install is not adding PDAC components to IDE)=
=20
  <LI>Fix for CR 54417 (Status code 5 returned when issuing CREATE TABLE)=
=20
</LI></UL>
<P>Please see the <A=20
href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sdk/=
readme_pdac.html#kissues">known=20
issues</A> with this release. </P><A name=3D2006_May></A>
<HR>

<H2>May 2006 release (Pervasive PSQL SDK - v9 SP2)</H2>
<P>This release includes the following updates:</P>
<UL>
  <LI>Support for true BigInt (i.e. supports 8 byte integer) </LI></UL>
<P>Please see the <A=20
href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sdk/=
readme_pdac.html#kissues">known=20
issues</A> with this release. </P><A name=3D2005_July></A>
<HR>

<H2>July 2005 release (Pervasive PSQL SDK - v9.0)</H2>
<P>This release includes the following updates:</P>
<UL>
  <LI>Support for Delphi 2005=20
  <LI>Support for Pervasive PSQL v9 </LI></UL>
<P>Please see the <A=20
href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/sdk/=
readme_pdac.html#kissues">known=20
issues</A> with this release. </P><A name=3D2004_MAR></A>
<HR>

<H2>March 2004 release (Pervasive.SQL SDK - V8.5)</H2>
<P>This release includes the following updates:</P>
<H3>BookMarksEnabled Property Added to TPvQuery</H3>
<P>A new Boolean property "BookmarksEnabled" was added to TPvQuery. If you=
 do=20
not use Bookmarks in your application, set this property to False in order=
 to=20
increase TPvQuery performance. The default value is True. <PRE>PvQuery.Boo=
kmarksEnabled :=3DFalse
</PRE>
<H3>Secure Databases and PDAC</H3>
<P>If you are connecting to a secured database, PDAC prompts you for the u=
ser=20
name and password. If you do not want the user to be prompted for the user=
 name=20
and password, you can set up the connection parameters in=20
<CODE>TPvDatabase</CODE> and <CODE>TPvSQLDatabase</CODE>.=20
<P>For example: <PRE>   PvSession.ServerName:=3D'ServerName';
   PvSession.SessionName:=3D'session1';
   PvSession.Active:=3DTrue;

   PvDatabase.AliasName:=3D 'DatabaseName';
   PvDatabase.DatabaseName:=3D'DB';
   PvDatabase.SessionName:=3D'session1';
   PvDatabase.Params.Clear();

// here you specify user name and password to connect to remote database.

   PvDatabase.Params.Add('User Name=3DUserName');
   PvDatabase.Params.Add('password=3DPassword');
   PvDatabase.Connected:=3DTrue;
   PvTable.DatabaseName:=3DdB;
   PvTable.SessionName:=3D'session1';
   PvTable.TableName:=3D'person';
   PvTable.Active:=3DTrue;
  =20
</PRE><A name=3D2003_JUL>
<HR>
</A>
<H2>July 2003 release (PDAC Security Beta)</H2>This release adds PDAC=20
compatibility for the Pervasive.SQL V8.5 release. For information about th=
e=20
Pervasive.SQL v8.5 release, see <A=20
href=3D"http://www.pervasive.com/support/updates/v8_85.asp">http://www.per=
vasive.com/support/updates/v8_85.asp</A>.=20
The PDAC components are enhanced in the following ways in support of the n=
ew=20
security features:=20
<UL>
  <LI>You can now make a secure remote connection using either a TPvTable =
or=20
  TPvQuery component. Previously, an attempt to connect to a remote secure=
=20
  database using TPvTable returned an error.=20
  <LI>Read-only access to remote data using a TPvTable component no longer=
=20
  requires administrator privileges. User-level privileges are sufficient.=
=20
</LI></UL>
<P>To use this release, follow these steps:=20
<OL>
  <LI>Install this PDAC security beta and the Pervasive PSQL security rele=
ase,=20
  which can be obtained at <A=20
  href=3D"http://www.pervasive.com/support/updates/v8_85.asp">http://www.p=
ervasive.com/support/updates/v8_85.asp</A>.=20

  <LI>Copy the new PDAC DRM component to the application environment.=20
  <LI>Recompile your PDAC application=20
  <P><B>Note: </B>You can choose not to recompile your PDAC application.=20
  However, the following limitations will then apply:=20
  <UL>
    <LI>You will not have the fixes for the <A=20
    href=3D"file:///C:/PVSW/bin/plugins/com.pervasive.help.docs.psql.enus/=
sdk/readme_pdac.html#issues_july2003">issues</A>=20
    listed below.=20
    <LI>You will still need Administrator level privileges in order to hav=
e=20
    read-only access to remote data using the TPvTable component.=20
</LI></UL></LI></OL>
<P></P><!--- You do not need to have the Pervasive.SQL v8.5 engine release=
 in order to use this PDAC release. However, the new=20
security features require that the engine be version v8.5.  Use the follow=
ing table to determine how
to work with this release:



<TABLE CELLPADDING=3D5 BORDER=3D1>
<TR>
<TH>Feature of this PDAC Release</Th><TH>Requires v8.5 engine</TH><TH>Step=
s to implement</TH>
</TR>

<TR>
<Td>TPvTable secure remote connection</TD><Td align=3Dcenter>Yes</Td>
    <TD><OL><LI>Install Security engine (v8.5) beta release</LI><LI>Copy t=
he new PDAC DRM to the application environment</LI>=20
        <LI>Recompile your PDAC application
        </OL>
</TR>

<TR>
<Td>Read-only access to remote data for TPvTable without administrator pri=
vileges.</TD><Td align=3Dcenter>Yes</Td>
    <TD><OL><LI>Install Security engine (v8.5) beta release</LI><LI>Copy t=
he new PDAC DRM to the application environment</LI>
    <LI>Recompile your PDAC application     </OL>
</TR>

<TR>
<Td><A HREF=3D"#issues_july2003">Issues addressed since last release</A></=
TD><Td align=3Dcenter>No</Td>
    <TD><OL><LI>Copy the new PDAC DRM to the application environment
         <LI>Recompile your PDAC application=20
</TR>

<TR>
<Td> TPvQuery secure remote connection</TD><Td align=3Dcenter>Yes</Td>
    <TD><OL><LI>Install Security engine (v8.5) beta release</LI><LI>Copy t=
he new PDAC DRM to the application environment</LI>
    <LI>Recompile your PDAC application     </OL>
</TR>

</TABLE---><A name=3Dissues_july2003></A>
<H3>Issues Addressed Since Last Release</H3>
<P>In addition to the new functionality, the following issues have been=20
corrected in this release.=20
<TABLE border=3D1 cellPadding=3D5 width=3D600>
  <TBODY>
  <TR>
    <TH>Issue=20
    <TH>Description </TR>
  <TR width=3D"100">
    <TD>45424</TD>
    <TD>After using TParam Clear() method in a stored procedure, default v=
alue=20
      for datatype is received instead of null value.=20
      <P>For example, consider a stored procedure that has a parameter cal=
led :x=20
      and the value is set to NULL via TParam's clear() method. When the=20
      procedure is executed, the stored procedure receives a default value=
 for=20
      the datatype of x instead of an actual null value. In this example, =
since=20
      parameter x is of type ftDate, it receives a value of '1899' (the de=
fault=20
      date) instead of an actual null, when the Clear() method is used.=20
  </P></TD></TR>
  <TR>
    <TD>45719</TD>
    <TD>When using a UNC paths to make a remote connection using the=20
      PvDatabase component, status code 11 is returned.</TD></TR>
  <TR>
    <TD>45463</TD>
    <TD>When using the TPvStoredProc component, dataType parameter values =
of=20
      date, time, and dateTime values appear with defaults of ftUnknown. <=
/TD></TR>
  <TR>
    <TD>45557</TD>
    <TD>When the TPvTable component is in insert mode (dsInsert), the=20
      TMemoField does not accept a new value. In Edit mode, the TMemoField=
 does=20
      accept new values. </TD></TR>
  <TR>
    <TD>45309</TD>
    <TD>Status 43 when attempting to change the index. This issue would oc=
cur=20
      given the following sequence:=20
      <OL>
        <LI>You use a TPvQuery component to delete all the records from a =
table=20
        <LI>You then use a TPvTable to change to a different index on that=
 table=20
        either by using the IndexName or IndexFieldNames property </LI></O=
L></TD></TR>
  <TR>
    <TD>45090</TD>
    <TD>Using a TPvQuery component to execute a SQL statement containing=20
      "SELECT DISTINCT .." may produce the error "More than one row update=
d or=20
      deleted". </TD></TR>
  <TR>
    <TD>44880</TD>
    <TD>Memory leak occurs using PvTable each time database name is change=
d.=20
    </TD></TR>
  <TR>
    <TD>44750</TD>
    <TD>Bookmark with setRange works incorrectly. Setting a bookmark prior=
 to=20
      setting a range that should exclude the bookmark produces unexpected=
=20
      results. The bookmark then finds the record when it should throw an=
=20
      exception. </TD></TR>
  <TR>
    <TD>43846</TD>
    <TD>'Invalid Bookmark' error is received when attempting to delete a=20
      cached record and then saving the changes to the database. </TD></TR>
  <TR>
    <TD>44638</TD>
    <TD>REAL (FLOAT(4)) data type is cloned as BFLOAT (FLOAT(8)).=20
      <P>The REAL data type is ignored by the PDAC PvCreateTable function =
and is=20
      interpreted as a DOUBLE instead. As a result, cloning a TPvTable in =
code=20
      results in a table with a DOUBLE field that should be a REAL field.=
=20
  </P></TD></TR>
  <TR>
    <TD>43213</TD>
    <TD>Package builds are not optimized for performance. When using Delph=
i 7,=20
      you may see a window asking for source code when you single step int=
o the=20
      code in debug mode. </TD></TR>
  <TR>
    <TD>44618</TD>
    <TD>PDAC Locate returns True even if a key value does not exist in the=
=20
      table.=20
      <P>This occurs if the Locate's key fields are a superset of the tabl=
e's=20
      current index fields. Locate incorrectly returns True that it found =
the=20
      record. </P></TD></TR>
  <TR>
    <TD>44532</TD>
    <TD>A EPvSqlEngineError bookmark error message can result when using a=
=20
      clientDataSet that is attached to a TPvQuery component. </TD></TR>
  <TR>
    <TD>44534</TD>
    <TD>When using an AUTOINC field, '0' is not automatically sent if no v=
alue=20
      is provided by the application. </TD></TR>
  <TR>
    <TD>44581</TD>
    <TD>Some queries can produce an editable field in a grid when the data=
 in=20
      the field is not persistant . When saving the changes, the non persi=
stant=20
      data is not saved.</TD></TR>
  <TR>
    <TD>44607</TD>
    <TD>Changing the index of a table resets the current row to the first =
row=20
      when viewing the table through a grid. </TD></TR>
  <TR>
    <TD>43659</TD>
    <TD>String fields can be truncated after an Update. For example, this=
=20
      error can occur during the following sequence:=20
      <OL>
        <LI>You update a varchar field and move the cursor=20
        <LI>You then update a second field and move the cursor back to the=
 first=20
        field The updated value on the first field is missing. </LI></OL><=
/TD></TR>
  <TR>
    <TD>53598</TD>
    <TD>PDAC should not work for the changed datatypes such as Bigint,=20
      UBingint SDKs of PDAC (that use an 8 byte integer) prior to Pervasiv=
e PSQL=20
      v9 SP2.</TD></TR></TBODY></TABLE><A name=3D2003_APR>
<HR>
</A>
<H2>April 2003 release</H2>
<P>This release incorporates a number of fixes for reported issues since t=
he=20
December 2002 release. </P>
<H3>Notes about Data Types in this Release</H3>
<P>If you need to store and handle very large values in your columns then,=
 you=20
should always use float and double datatypes. If you do not use float and =
double=20
datatypes you will receive inconsistent results with rounding and overflow=
=20
conditions with very large values from the following data types=20
<UL>
  <LI>BFLOAT4=20
  <LI>REAL=20
  <LI>BIGINT=20
  <LI>UBIGINT </LI></UL>
<P>With regards to the rounding errors, it is possible that any of the typ=
es in=20
the following table could be displayed or filtered incorrectly when nearer=
 the=20
outer ends of the range. </P>
<P>The maximum number of digits and values that can be handled in the diff=
erent=20
datatypes is documented in the following table: </P>
<TABLE border=3D1 cellPadding=3D5>
  <TBODY>
  <TR>
    <TH width=3D144>Pervasive PSQL Data Type</TH>
    <TH width=3D256>PDAC Lower Range</TH>
    <TH width=3D170>PDAC Upper Range</TH></TR>
  <TR>
    <TD width=3D144>BIGINT</TD>
    <TD width=3D256>-281474976710655</TD>
    <TD width=3D170>281474976710655</TD></TR>
  <TR>
    <TD width=3D144>CURRENCY</TD>
    <TD width=3D256>-28147497671.0655</TD>
    <TD width=3D170>28147497671.0655</TD></TR>
  <TR>
    <TD width=3D144>DECIMAL</TD>
    <TD width=3D256>-281474976710655</TD>
    <TD width=3D170>281474976710655</TD></TR>
  <TR>
    <TD width=3D144>MONEY</TD>
    <TD width=3D256>-281474976710655</TD>
    <TD width=3D170>281474976710655</TD></TR>
  <TR>
    <TD width=3D144>NUMERIC</TD>
    <TD width=3D256>-281474976710655</TD>
    <TD width=3D170>281474976710655</TD></TR>
  <TR>
    <TD width=3D144>NUMERICSA</TD>
    <TD width=3D256>-281474976710655</TD>
    <TD width=3D170>281474976710655</TD></TR>
  <TR>
    <TD width=3D144>NUMERICSTS</TD>
    <TD width=3D256>-99999999999999 </TD>
    <TD width=3D170>99999999999999 </TD></TR>
  <TR>
    <TD width=3D144>UBIGINT</TD>
    <TD width=3D256>0</TD>
    <TD width=3D170>281474976710655 </TD></TR></TBODY></TABLE>
<P><B>Note on DECIMAL, MONEY, and Numerics:</B>=20
<P>
<P>You have to move the decimal place over the number of places defined in=
 the=20
creation. For example: </P>
<UL>
  <LI>If you have MONEY field defined as (15,2), the range is -28147497671=
06.55=20
  to 2814749767106.55=20
  <LI>If you have a DECIMAL field defined as (15,4), the range is=20
  -28147497671.0655 to 28147497671.0655 </LI></UL>
<P></P>
<H3>Applications Linked to PDAC as Runtime Library</H3>
<P>Pervasive recommends that you re-link your application when you obtain =
a new=20
version of BPLs (with accompanying DCPs). This is particularly important w=
ith=20
releases of PDAC shipped in 2002 or later. When you receive an updated ver=
sion,=20
new properties and methods can cause incompatibility with previous BPLs. T=
o=20
address this issue, replace the original DCP files and rebuild your applic=
ation=20
before utilizing the latest release. </P>
<P><B>Detail: </B>BPLs export all properties and methods within a class. E=
ach=20
property and method becomes an ordinal entry in the export table. Any chan=
ges in=20
the interface of the class causes a shift of ordinals, which in turn cause=
s the=20
consuming application to access incorrect addresses of the functions. </P>
<H3>Documentation Issue When Using 2000i Engine</H3>
<P>The Pervasive.SQL V8 SDK documentation that is included with this lates=
t PDAC=20
release assumes that a V8 engine is installed. When using the latest PDAC =
update=20
with a 2000i engine, the documentation shortcut in the Start Menu (<B>Star=
t |=20
Programs | Pervasive.SQL SDK | Documentation | Pervasive.SQL V8</B>) will =
not=20
function correctly. </P>
<P>To work around this issue, you can either </P>
<UL>
  <LI>Download the latest V8 engine documentation to complete the V8=20
  documentation set. See the following website to do so: <A=20
  href=3D"http://www.pervasive.com/support/technical/online_manuals.asp"=20
  target=3D_new>http://www.pervasive.com/support/technical/online_manuals.=
asp</A>.=20
  After you download the V8 engine doc files, copy them to the same locati=
on=20
  where your V8 SDK documentation is located (default \PVSW\SDK\DOC) and l=
oad=20
  PVSWDOCS.CHM=20
  <LI>Load PSDKDOCS.CHM, located in the \SDK\DOC folder where you installe=
d the=20
  updated PDAC components. This only loads the SDK documentation and does =
not=20
  include the engine documentation. Use the start menu item provided with =
your=20
  2000i engine should you need the 2000i engine documentation. </LI></UL><=
A=20
name=3D2002_DEC>
<HR>
</A>
<H2>December 2002 release</H2>
<P>This release incorporates a number of fixes for reported issues, and=20
introduces new functionality with regards to cursors. </P>
<P>Other than the issues discussed in this section, PDAC should operate as=
 it=20
did in prior releases. However, it will exhibit faster relational performa=
nce.=20
If you have existing PDAC applications that have issues with this new rele=
ase,=20
please contact Pervasive Software with this information. </P>
<H3>Support for newer Borland releases</H3>
<P>This release now supports the following:</P>
<UL>
  <LI>Delphi 7=20
  <LI>C++ Builder 6 </LI></UL>
<H3>TPvTable &amp; other Btrieve components</H3>
<P>There are no functional changes to these components, but there are seve=
ral=20
issues resolved. </P>
<H3>TPvQuery</H3>
<P>TPvQuery has a new property <STRONG>CursorType</STRONG>. This property =
can be=20
set to <EM>ctCached</EM> or <EM>ctDynamic</EM>. The following table descri=
bes=20
the behavior of this property in more detail: </P>
<TABLE border=3D1 cellPadding=3D5>
  <TBODY>
  <TR>
    <TH>Cursor type</TH>
    <TH>Behavior</TH></TR>
  <TR>
    <TD><EM>ctCached</EM></TD>
    <TD>This setting corresponds to the previously-available fully-cached,=
=20
      fully-static Cursor Manager. It reads every record in the ResultSet =
before=20
      returning, which can be very slow for large tables, yet fast after i=
t has=20
      opened for operations such as LookUps. </TD></TR>
  <TR>
    <TD><EM>ctDynamic</EM></TD>
    <TD>This setting is the new default; it uses the Pervasive PSQL Engine=
's=20
      dynamic cursors, and offers much improved performance for most opera=
tions=20
      when compared with <EM>ctCached</EM>, especially with regard to larg=
e=20
      tables.=20
      <P></P>
      <P class=3Dnote><B>Note: </B>The Dynamic cursors can see the=20
      Inserts/Updates/Deletes of their own or other clients.=20
</P></TD></TR></TBODY></TABLE>
<P>You can change CursorType on a PvQuery by changing the Property, but on=
ly (at=20
runtime) if Active is False. If you change it in Design mode, and the quer=
y is=20
Active, it will de-activate the query and change the cursortype (but not=20
reactivate). At Runtime, changing CursorType on an Active PvQuery will thr=
ow an=20
exception ("Cannot perform this operation on an open dataset").=20
<H3>Case Where Dynamic Cursors Change to Static</H3>
<P>If you request a Dynamic cursor (ctDynamic), but your SQL statement con=
tains=20
a construct that a Dynamic cursor cannot process, the engine will connect =
and=20
return data, but with a Static cursor. For example, such a construct could=
 be:=20
<UL>
  <LI>a view=20
  <LI>a join=20
  <LI>an ORDER BY on a column with no index defined </LI></UL>
<P>In the event the cursor is transformed into a static one, this static c=
ursor=20
will be engine-based one that cannot see inserts, updates, or deletes made=
 by=20
other clients. It will perform better than the static cursors on previous=
=20
releases (that is, ones using <EM>ctCached</EM> as the cursor type.). </P>
<P>When the dynamic to static transformation occurs, the Pervasive PSQL en=
gine=20
notifies the PDAC component, and sets a read-only Public Property named=20
<STRONG>EngineCursor</STRONG>. </P>
<P>This EngineCursor property is not published, so it is not visible in th=
e=20
Object Inspector during design. It can have two values:=20
<UL>
  <LI><EM>ecDynamic</EM>=20
  <LI><EM>ecStatic</EM> </LI></UL>
<P>You cannot modify this property, but you can check its value after open=
ing a=20
query. You might want to check this property for example if it is importan=
t that=20
your application know whether your cursor includes updates made by other=20
clients. </P>
<H3>Engine Version Checking</H3>
<P>When opening a query or table, PDAC now checks for an adequate Pervasiv=
e PSQL=20
engine version (version 7.94, build 253.057 or higher) to ensure that engi=
ne=20
dependency-related errors do not occur. If the engine version is not suffi=
cient,=20
an exception is thrown with a message indicating the required version. </P=
><A=20
name=3Dredist>
<HR>
</A>
<H2>"Redist" Subdirectory</H2>
<P>There is a "redist" directory for each Borland compiler. This directory=
=20
contains the libraries that must be distributed with an application compil=
ed=20
with "Build with runtime packages." <A name=3Dinclude>
<HR>
</A>
<H2>Adding PDAC to C++ Builder's "Include" and "Library" paths</H2>
<P>Although the Pervasive Direct Access Component libraries are installed =
into=20
all Delphi and C++ Builder IDEs found on your system, it is necessary to s=
et C++=20
Builder's "Project Options" to reflect the INCLUDE and LIBRARY paths for P=
DAC.=20
These can be added to the default options, so the steps are unnecessary fo=
r=20
every project using the Pervasive components. To add Pervasive Direct Acce=
ss=20
Components to the INCLUDE and LIBRARY paths in C++ Builder:=20
<OL>
  <LI>
  <P>Select Project | Options, and choose the "Directories/Conditionals"=20
tab.</P>
  <LI>
  <P>Add "<INSTALLDIR>\sdk\pdac\BCB?\include" to the Include Path, where=20
  <INSTALLDIR>represents the directory where you installed the SDK (C:\PVS=
W is=20
  the default). Replace the "?" with the version of C++ Builder you are=20
  using.</P>
  <LI>
  <P>Also add "<INSTALLDIR>\SDK\pdac\BCB?\lib\" and=20
  "<INSTALLDIR>\SDK\pdac\BCB?\lib\dcu" to the "Library Path", separated by=
 a=20
  semicolon (;). Replace the "?" with the version of C++ Builder you are=20
  using.</P>
  <LI>
  <P>Check the Default box (if you want these to be the defaults for all=20
  projects you create), then click OK to save these options.</P></LI></OL>
<P>After the Include and Library paths are set properly, use the Direct Ac=
cess=20
components exactly the same way as the corresponding Borland components. <=
A=20
name=3Daddtl>
<HR>
</A>
<H2>Information on Additional Programs Included with PDAC</H2>
<H3>PDAC2IDE.exe</H3>
<P>PDAC2IDE.exe, installed in the SDK\PDAC subdirectory, will configure th=
e=20
Borland Delphi 5/6/7 and C++ Builder 5/6 Integrated Development Environmen=
ts=20
(Ides) for the PDAC components. This utility is run automatically when the=
 SDK=20
is installed, but can be used at a DOS command line if new Ides are instal=
led or=20
if problems occur.=20
<P>When installing, there is no need to uninstall first -- any old entries=
 are=20
automatically deleted prior to installation. Note that no files are delete=
d,=20
copied, or installed; the program simply updates the Ides for PDAC.=20
<P>The command is used as follows:=20
<P><B>To install PDAC to all Borland Ides found on a system</B> <PRE>    p=
dac2ide </PRE>
<P>This will find all supported Borland environments and make the appropri=
ate=20
Registry entries for the components to appear on the Palette and be availa=
ble=20
for use.=20
<P><B>To uninstall PDAC from all Borland Ides found on a system</B> <PRE> =
   pdac2ide -u </PRE>
<P><B>To install or uninstall to/from specific Ides</B> <PRE>   pdac2ide [=
-u]  [D5] [D6] [D7] [C5] [C6]</PRE>
<P>One or more Ides can be listed on the command line.=20
<P>The -u parameter runs the uninstall only; if it is not given, PDAC will=
 first=20
be uninstalled, then re-installed into each listed IDE.=20
<P>PDAC2IDE also accepts a -q parameter, for "quiet" mode, that does not w=
rite=20
to the console; this is useful for inclusion in batch files.=20
<H3>FixBPR.exe</H3>
<P>This is a utility to "fix" the C++ Builder .bpr (project) files. It rep=
laces=20
references to the old (original PDAC release&gt; library names with the co=
rrect=20
filenames for the new libraries. The original BPR file is saved as=20
<PROJECT>.bpr.old.=20
<P>FixBPR is installed into the PDAC installation directory (c:\pvsw\SDK\p=
dac,=20
by default). It can be run from a DOS or CMD box as follows:=20
<P><PRE>    FixBPR <PROJECT file name></PRE>
<P>This utility should be run against all C++ Builder projects developed u=
sing=20
the original release of PDAC, so they will build with the correct librarie=
s. It=20
is only useful with projects developed with the earlier PDAC libraries; no=
thing=20
is added to the BPR files if the old library names are not found. It is no=
t=20
necessary to run this utility on the "default.bpr" files located in the=20
compilers' "bin" directories, as PDAC2IDE.exe performs that function durin=
g=20
installation of PDAC.=20
<P><A name=3Ddeploy>
<HR>
</A>
<H2>Deploying PDAC applications</H2>
<P>See the text file "pdacdepl.txt," located in the ...\SDK\DOC subdirecto=
ry for=20
complete information on deploying applications developed with the Pervasiv=
e=20
Direct Access Components. <A name=3Dkissues>
<HR>
</A>
<H2>Known Issues</H2>
<P>The following are known issues with this release.</P>
<TABLE border=3D1 cellPadding=3D5 width=3D"75%">
  <TBODY>
  <TR>
    <TH vAlign=3Dtop width=3D"15%">Issue Number</TH>
    <TH vAlign=3Dtop width=3D"83%">Description</TH></TR>
  <TR>
    <TD width=3D"15%">52067</TD>
    <TD width=3D"83%">
      <P><STRONG>Data not displayed for some PDAC properties in Delphi 200=
5=20
      IDE</STRONG></P>
      <P>The following properties are displayed incorrectly in the Delphi =
2005=20
      IDE <PRE>TpvSession: servername=20
TpvDatabase: Aliasname=20
TpvTable: Database=20

TpvBatchmove: changetablename, KeyvoilTablename

pvsqlsession: servername=20
pvsqldatabase: Aliasname=20
Tpvquery: database=20
Tpvstoredprocedure: database=20

wwpvTable1: Database=20
wwpvquery:  Database=20
wwpvstoreprocedure: Database=20
</PRE>
      <P>This issue does not occur when using Delphi 5,6, or 7. </P></TD><=
/TR>
  <TR>
    <TD width=3D"15%">None</TD>
    <TD width=3D"83%">
      <P><STRONG>Documentation for PDAC in CHM format not updated</STRONG>=
</P>
      <P>Documentation for PDAC in Javahelp and PDF formats will be provid=
ed in=20
      a subsequent update.</P></TD></TR></TBODY></TABLE><A name=3Dlinks>
<HR>
</A>
<H2>Useful Links</H2>
<UL>
  <LI>Discuss all your Pervasive development issues at DevTalk at <A=20
  href=3D"http://www.pervasive.com/devtalk">http://www.pervasive.com/devta=
lk</A>.=20
  <LI>See some creative applications and code snippets and share your own =
at=20
  Pervasive ComponentZone at <A=20
  href=3D"http://www.pervasive.com/componentzone">http://www.pervasive.com=
/componentzone</A>.=20

  <LI>The focal website for developers is the Pervasive Developer Center a=
t <A=20
  href=3D"http://www.pervasive.com/developerzone">http://www.pervasive.com=
/developerzone</A>.=20

  <LI>See the Subscription Center for access to Pervasive e-mail news at <=
A=20
  href=3D"http://www.pervasive.com/support/subscription.asp">http://www.pe=
rvasive.com/support/subscription.asp</A>.=20
  </LI></UL><A name=3Ddisclaim>
<HR>
</A>
<H2>Disclaimer</H2><SMALL><CODE>PERVASIVE SOFTWARE INC. LICENSES THE SOFTW=
ARE=20
AND DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASI=
S AND=20
SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING LIC=
ENSE=20
AGREEMENT. PERVASIVE SOFTWARE INC. MAKES NO OTHER WARRANTIES WHATSOEVER, E=
ITHER=20
EXPRESS OR IMPLIED, REGARDING THE SOFTWARE OR THE CONTENT OF THE DOCUMENTA=
TION;=20
PERVASIVE SOFTWARE INC. HEREBY EXPRESSLY STATES AND YOU OR YOUR COMPANY=20
ACKNOWLEDGES THAT PERVASIVE SOFTWARE INC. DOES NOT MAKE ANY WARRANTIES,=20
INCLUDING, FOR EXAMPLE, WITH RESPECT TO MERCHANTABILITY, TITLE, OR FITNESS=
 FOR=20
ANY PARTICULAR PURPOSE OR ARISING FROM COURSE OF DEALING OR USAGE OF TRADE=
,=20
AMONG OTHERS. </CODE></SMALL>
<P>Copyright =A9 1999-2006 Pervasive Software Inc. All Rights Reserved.=20
</P></BODY></HTML>

