Download What`s New in Pervasive PSQL

Document related concepts

Extensible Storage Engine wikipedia , lookup

Database model wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Clusterpoint wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Transcript
Pervasive PSQL v11 SP1
What’s New in Pervasive PSQL
An Overview of New Features and Changed Behavior
Pervasive Software Inc.
12365 Riata Trace Parkway
Building B
Austin, TX 78727 USA
Telephone: 512 231 6000 or 800 287 4383
Fax: 512 231 6010
Email: [email protected]
Web: http://www.pervasivedb.com
disclaimer
PERVASIVE SOFTWARE INC. LICENSES THE SOFTWARE AND
DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN “AS
IS” BASIS AND SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS
OF THE ACCOMPANYING LICENSE AGREEMENT. PERVASIVE SOFTWARE INC.
MAKES NO OTHER WARRANTIES WHATSOEVER, EITHER EXPRESS OR IMPLIED,
REGARDING THE SOFTWARE OR THE CONTENT OF THE DOCUMENTATION;
PERVASIVE SOFTWARE INC. HEREBY EXPRESSLY STATES AND YOU OR YOUR
COMPANY ACKNOWLEDGES THAT PERVASIVE SOFTWARE INC. DOES NOT
MAKE ANY WARRANTIES, INCLUDING, FOR EXAMPLE, WITH RESPECT TO
MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE OR
ARISING FROM COURSE OF DEALING OR USAGE OF TRADE, AMONG OTHERS.
trademarks
Btrieve, Client/Server in a Box, Pervasive, Pervasive Software, and the Pervasive Software
logo are registered trademarks of Pervasive Software Inc.
Built on Pervasive Software, DataExchange, MicroKernel Database Engine, MicroKernel Database
Architecture, Pervasive.SQL, Pervasive PSQL, Solution Network, Ultralight, and ZDBA are
trademarks of Pervasive Software Inc.
Microsoft, MS-DOS, Windows, Windows 95, Windows 98, Windows NT, Windows Millennium,
Windows 2000, Windows 2003, Windows 2008, Windows 7, Windows XP, Win32, Win32s, and
Visual Basic are registered trademarks of Microsoft Corporation.
NetWare and Novell are registered trademarks of Novell, Inc.
NetWare Loadable Module, NLM, Novell DOS, Transaction Tracking System, and TTS are
trademarks of Novell, Inc.
Sun, Sun Microsystems, Java, all trademarks and logos that contain Sun, Solaris, or Java, are
trademarks or registered trademarks of Sun Microsystems.
All other company and product names are the trademarks or registered trademarks of their
respective companies.
© Copyright 2011 Pervasive Software Inc. All rights reserved. Reproduction, photocopying, or
transmittal of this publication, or portions of this publication, is prohibited without the express prior
written consent of the publisher.
This product includes software developed by Powerdog Industries. © Copyright 1994 Powerdog
Industries. All rights reserved.
This product includes software developed by KeyWorks Software. © Copyright 2002 KeyWorks
Software. All rights reserved.
This product includes software developed by DUNDAS SOFTWARE. © Copyright 1997-2000
DUNDAS SOFTWARE LTD., all rights reserved.
This product includes software developed by the Apache Software Foundation
(http://www.apache.org/).
This product uses the free unixODBC Driver Manager as written by Peter Harvey
([email protected]), modified and extended by Nick Gorham ([email protected]), with
local modifications from Pervasive Software. Pervasive Software will donate their code changes to the
current maintainer of the unixODBC Driver Manager project, in accordance with the LGPL license
agreement of this project. The unixODBC Driver Danager home page is located at
www.unixodbc.org. For further information on this project, contact its current maintainer: Nick
Gorham ([email protected]).
A copy of the GNU Lesser General Public License (LGPL) is included on the distribution media for
this product. You may also view the LGPL at www.fsf.org/licensing/licenses/lgpl.html.
What’s New in Pervasive PSQL
General Release June 2011
138-004435-002
Contents
About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
vii
Who Should Read This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manual Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
ix
x
What Is New in Pervasive PSQL v11 SP1 . . . . . . . . . . . . . . . .
1
An Overview of New and Changed Features
Performance Monitoring Counters for Pervasive PSQL .
Message Logging . . . . . . . . . . . . . . . . . . . . . .
Licensing Messages. . . . . . . . . . . . . . . . . .
Pervasive Notification Viewer. . . . . . . . . . . .
Operating System Event Log . . . . . . . . . . . .
Pervasive PSQL Event Log. . . . . . . . . . . . . .
Related Topics . . . . . . . . . . . . . . . . . . . .
Installation. . . . . . . . . . . . . . . . . . . . . . . . . .
Firewalls. . . . . . . . . . . . . . . . . . . . . . . .
Pervasive Notification Viewer. . . . . . . . . . . .
Utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . .
License Administrator . . . . . . . . . . . . . . . .
Pervasive Notification Viewer. . . . . . . . . . . .
Pervasive System Analyzer (PSA) . . . . . . . . . .
Relational Interface . . . . . . . . . . . . . . . . . . . . .
System Catalog Functions . . . . . . . . . . . . . .
Scalar Functions . . . . . . . . . . . . . . . . . . .
SDK Access Methods . . . . . . . . . . . . . . . . . . . .
Btrieve API . . . . . . . . . . . . . . . . . . . . . .
DTI . . . . . . . . . . . . . . . . . . . . . . . . . .
DTO . . . . . . . . . . . . . . . . . . . . . . . . . .
PDAC . . . . . . . . . . . . . . . . . . . . . . . . .
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64-bit ODBC Driver . . . . . . . . . . . . . . . . .
Red Hat Enterprise Linux 6 . . . . . . . . . . . . .
Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . .
Features for Original Equipment Manufacturers. . . . .
A
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
3
3
4
4
5
5
6
6
7
8
8
8
9
10
10
10
12
12
12
12
13
14
14
20
21
22
What Was New in Pervasive PSQL v11 . . . . . . . . . . . . . . . . .
23
An Overview of Features in Pervasive PSQL v11
Multi-core Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Why Multi-core Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Multi-core Dilemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
24
26
iii
Contents
Benefiting from the Present While Planning For the Future.
Support for IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Pervasive PSQL With IPv6 . . . . . . . . . . . . . . .
Frequently Asked Questions About IPv6 Support . . . . . .
Pervasive PSQL Utilities and IPv6 . . . . . . . . . . . . . . .
IPv6 Aspects for Application Programmers . . . . . . . . . .
64-bit ODBC Driver . . . . . . . . . . . . . . . . . . . . . . . . . .
ODBC and Data Source Names (DSNs). . . . . . . . . . . .
Utilities Affected by ODBC Changes . . . . . . . . . . . . .
Support for .NET Framework 3.5 SP1 and 4.0. . . . . . . . . . . .
Pervasive PSQL ADO.NET Data Provider 3.2 . . . . . . . .
Pervasive PSQL ADO.NET Data Provider 3.5 . . . . . . . .
PDAC Development Environments . . . . . . . . . . . . . . . . .
Enhancements to Other SDK Access Methods. . . . . . . . . . . .
DTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product Authorization. . . . . . . . . . . . . . . . . . . . . . . . .
Telephone Authorization . . . . . . . . . . . . . . . . . . . .
Product Authorization for OEMs . . . . . . . . . . . . . . .
Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . .
Communications Threads . . . . . . . . . . . . . . . . . . .
Listen IP Address . . . . . . . . . . . . . . . . . . . . . . . .
Utility Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pervasive PSQL Control Center . . . . . . . . . . . . . . . .
ODBC Administrator . . . . . . . . . . . . . . . . . . . . . .
Deprecated and Discontinued Features . . . . . . . . . . . . . . .
Deprecated Features. . . . . . . . . . . . . . . . . . . . . . .
Discontinued Features . . . . . . . . . . . . . . . . . . . . .
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28
30
30
35
36
36
41
41
47
48
48
48
50
51
51
52
52
52
53
53
53
54
54
54
55
55
55
Tables
1
2
3
4
5
6
7
8
Installation Actions for Vista or Later Operating Systems . . .
Pervasive PSQL ODBC Driver Descriptions for Linux . . . . .
FAQs About ODBC and DSN Support for Linux. . . . . . . .
IPv6 Unicast Address Formats Supported by Pervasive PSQL.
IPv6 Restrictions With Pervasive PSQL . . . . . . . . . . . . .
FAQs About IPv6 Support . . . . . . . . . . . . . . . . . . . .
Pervasive PSQL ODBC Drivers for Windows . . . . . . . . . .
FAQs About ODBC and DSN Changes . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
15
16
31
34
35
41
42
v
Tables
vi
About This Manual
This manual contains information about the features and
enhancements that are new in this release of Pervasive PSQL. This
release is referred to as Pervasive PSQL v11 SP1.
vii
Who Should Read This Manual
This document is designed for any user who is familiar with
Pervasive PSQL and wants to know what has changed in this release
of the software.
This manual does not provide comprehensive usage instructions for
the software. Its purpose is to explain what is new and different in
this particular release of the product.
Pervasive Software Inc. would appreciate your comments and
suggestions about this manual. As a user of our documentation, you
are in a unique position to provide ideas that can have a direct
impact on future releases of this and other manuals. If you have
comments or suggestions for the product documentation, post your
request at the Community Forum on the Pervasive PSQL Web site,
www.pervasivedb.com.
viii
Manual Organization
This manual begins with an overview of the new features, then
provides links to chapters containing additional details where
appropriate. What's New in Pervasive PSQL is divided into the
following sections:
„
Chapter 1—What Is New in Pervasive PSQL v11 SP1
This chapter provides an overview of the changes in the current
release of the software.
„
Appendix A—What Was New in Pervasive PSQL v11
This chapter provides an overview of the changes in the initial
release of the software.
This manual also contains an index.
ix
Conventions
Unless otherwise noted, command syntax, code, and examples use
the following conventions:
x
CASE
Commands and reserved words typically appear in uppercase
letters. Unless the manual states otherwise, you can enter
these items using uppercase, lowercase, or both. For
example, you can type MYPROG, myprog, or MYprog.
Bold
Words appearing in bold include the following: menu names,
dialog box names, commands, options, buttons, statements,
etc.
Monospaced
font
Monospaced font is reserved for words you enter, such as
command syntax.
[ ]
Square brackets enclose optional information, as in [log_name].
If information is not enclosed in square brackets, it is required.
|
A vertical bar indicates a choice of information to enter, as in
[file_name | @file_name].
< >
Angle brackets enclose multiple choices for a required item, as
in /D=<5|6|7>.
variable
Words appearing in italics are variables that you must replace
with appropriate values, as in file_name.
...
An ellipsis following information indicates you can repeat the
information more than one time, as in [parameter ...].
::=
The symbol ::= means one item is defined in terms of another.
For example, a::=b means the item a is defined in terms of b.
%string%
A variable defined by the Windows operating system. String
represents the variable text. Example: %ProgramFiles% is a
variable for the location C:\Program Files.
$string
An environment variable defined by the Linux operating
system. String represents the variable text. Example: $PATH,
which contains a colon-separated list of directories that the
shell searches for commands that do not contain a slash in
their name.
chapter
What Is New in Pervasive
PSQL v11 SP1
1
An Overview of New and Changed Features
The General Release includes new features and changes as
summarized in the following topics:
„
„
„
„
„
„
„
„
„
Performance Monitoring Counters for Pervasive PSQL
Message Logging
Installation
Utilities
Relational Interface
SDK Access Methods
Linux
Macintosh
Features for Original Equipment Manufacturers
1
What Is New in Pervasive PSQL v11 SP1
Performance Monitoring Counters for Pervasive PSQL
Pervasive PSQL v11 SP1 provides performance counters for use with
the Windows Performance Monitor utility. The Pervasive PSQL
performance counters measure state or activity of the database
engine, which allows you to analyze performance of your
application. Windows Performance Monitor requests the current
value of the performance counters at specified time intervals.
The use of the performance counters applies only to Pervasive PSQL
Server running on the following platforms:
„
„
Windows Vista or later, such as Windows 7, Windows Server
2008 and Windows Server 2008 R2.
Both 32-bit and 64-bit versions of the operating systems are
supported.
By default, the Pervasive PSQL installation registers the Pervasive
PSQL performance counters with Performance Monitor. The
counters are available for use after installation completes.
Note that the use of performance counters is an advanced feature
intended primarily for application developers and other technical
staff. Refer to the Microsoft documentation for details about the
Windows Performance Monitor and on the use of counters in
general.
For details about the Pervasive PSQL performance counters, see
Analyzing Performance in Advanced Operations Guide.
2
Message Logging
Message Logging
Pervasive PSQL now supports various logging repositories for
messages. The logging falls into two broad categories:
„
„
All messages. These messages include status, error, warning, and
information messages. They can originate from any Pervasive
PSQL component, including the license administration
components.
Licensing messages. These messages alert you about licensing
issues and provide troubleshooting information. They originate
from license administration components.
The following table summarizes the repositories.
Repository
Written To By
Notes
Pervasive Notification Viewer
License administration components
New for Pervasive PSQL v11 SP1
Operating System Event Log
(Windows)
License administration components
Writing to the Windows Event Log is
new for Pervasive PSQL v11 SP1
Operating System Event Log
(Linux)
All Pervasive PSQL components
Additional messages pertaining to
licensing now logged
Pervasive PSQL Event Log
(Windows only)
All Pervasive PSQL components
Additional messages pertaining to
licensing now logged
Licensing
Messages
As the table above shows, several of the logging repositories
emphasize licensing messages. The reason is that the Pervasive PSQL
licensing components periodically verify that the key for the
database engine is still valid. If a key is determined to be invalid, the
key changes state from “active” to “failed validation.” The database
engine functions normally for a certain number of days so that you
have ample time to correct the failures.
If you do not correct the causes of the failed validation before the
number of days ends, the key changes state again to “disabled.” The
key is no longer valid and the database engine cannot access data
files.
Because you need to attend to a failed validation in a timely manner,
the state change of the key is brought to your attention as soon as
possible through the various logging repositories.
3
What Is New in Pervasive PSQL v11 SP1
Note that message logging follows a one-way hierarchy: any licensing
message logged to Pervasive Notification Viewer is also logged to the
Operating System Event Log and to the Pervasive PSQL Event Log.
Similarly, any licensing message logged to the Operating System
Event Log is also logged to the Pervasive PSQL Event Log.
Pervasive
Notification
Viewer
The Pervasive Notification Viewer is an application utility for
displaying messages logged by the licensing components. The
purpose of the utility is to inform you of noteworthy licensing
messages in a noticeable but unobtrusive manner.
Pervasive Notification Viewer is installed by default with Pervasive
PSQL Server, 32-bit and 64-bit, on Windows and Linux, and with
Pervasive PSQL Workgroup.
On Windows platforms, the executable is named notifyviewer.exe.
The Pervasive PSQL installation adds the utility to the Start Menu so
that it re-starts when you restart Windows.
On Linux distributions, the utility is a shell script named
notifyviewer. If you restart Linux, you must restart Pervasive
Notification Viewer. The shell script is not automatically executed
when Linux is restarted.
Pervasive Notification Viewer provides two interfaces: system tray
icons and a graphical user interface (GUI).
See Pervasive Notification Viewer in Advanced Operations Guide for
details.
Operating
System Event
Log
The Pervasive PSQL license administration components write
messages to the operating system event log on Windows platforms.
All Pervasive PSQL components write messages to the operating
system event log on Linux distributions.
Any licensing message categorized as an “error” or “warning” is
logged. In addition, certain information messages are logged.
On Windows platforms, Pervasive PSQL logs licensing messages to
the Windows Application Event Log. They are a subset of the
licensing messages written to PVSW.LOG. Pervasive PSQL Server,
Workgroup, and Client 32-bit currently log messages; Pervasive
PSQL Client 64-bit does not. See Windows Platforms Event Logs in
Advanced Operations Guide for details.
4
Message Logging
On Linux distributions, all Pervasive PSQL components write
messages to the standard Linux logging system, syslog. See Linux
Distributions Event Logs in Advanced Operations Guide for details.
Pervasive
PSQL Event
Log
On Windows platforms, all Pervasive PSQL components write
status, error, warning, and information messages to the Pervasive
PSQL event log, PVSW.LOG. Any licensing message categorized as
an “error” or “warning” is logged. In addition, certain information
messages are logged. See Pervasive PSQL Event Log in Advanced
Operations Guide for details.
Related Topics
See also Utilities and SDK Access Methods.
5
What Is New in Pervasive PSQL v11 SP1
Installation
Pervasive PSQL v11 SP1 includes the following changes to its
installation.
Firewalls
Pervasive Notification Viewer
„
„
Firewalls
Installation actions pertaining to firewalls have changed for
Pervasive PSQL Server and Pervasive PSQL Workstation. The change
applies only to Windows operating systems. For details, see Windows
FireWalls in Getting Started With Pervasive PSQL.
Windows Vista and Later
Windows Vista and later operating systems include Windows
Firewall with Advanced Security, which provides firewall profiles (a
group of security settings). The following table summarizes the
installation actions pertaining to the active profile(s).
Table 1
Installation Actions for Vista or Later Operating Systems
Active Firewall
Profile1
Rules Added for
Pervasive PSQL Services
State of Rules After
Installation2
Multiple, such as
•
Domain
•
Domain—Yes
•
•
Private
•
Private—Yes
•
Private—Enabled
•
Public
•
Public—Yes
•
Public—Disabled
Public only
1
Yes
Domain—Enabled
Enabled
“Active” means that the profile is monitoring network connections.
2
An “enabled” rule means that inbound TCP and UDP traffic can communicate
with the Pervasive PSQL service on all ports for any network connection managed
by that firewall profile.
As the table shows, if the Public profile is active with one or more other
active profiles, the Pervasive PSQL rules are added for the Public
profile but disabled. Neither the interactive nor the silent installation
of Pervasive PSQL Server or Workgroup can be modified to change
this behavior. If you want to enable the rules for the Public profile,
you must do so manually. See To enable Pervasive PSQL rules for the
Public profile in Getting Started With Pervasive PSQL.
6
Installation
Note A corporate policy may prevent a local administrator from
modifying the firewall profiles on a particular machine (that is,
the profile is “locked”). If so, the Pervasive PSQL installation
cannot add or enable the firewall rules required for the database
engine to communicate across a network connection monitored
by a locked profile. For such a situation, you should contact a
corporate systems administrator and request that the firewall
policy be modified to allow inbound TCP and UDP traffic on all
ports to communicate with all installed Pervasive PSQL services.
Also be aware that a Group Policy only prevents the installation
from adding and enabling rules on firewall profiles controlled by
the Group Policy when the target system is joined to the domain.
If the user installing Pervasive PSQL is logged into the target
system as a local user instead of as a domain user, the installation
does add and enable the rules on the firewall profiles. However,
the rules are disabled if the target system is later joined to the
domain controlling the Group Policy.
Windows Operating Systems Prior to Vista
Windows Server 2003 and Windows XP do not include firewall
profiles. On these operating system, installation adds each Pervasive
PSQL service to the Windows Firewall Exception List. This results in
the addition of one or more firewall rules that allow inbound TCP
and UDP traffic to communicate with the Pervasive PSQL services
on all ports through the Windows Firewall. All ports are used in case
you need to change the default ports used by Pervasive PSQL.
Pervasive
Notification
Viewer
A new utility, Pervasive Notification Viewer, is installed by default
with Pervasive PSQL Server, 32-bit and 64-bit, on Windows and
Linux, and with Pervasive PSQL Workgroup.
On Windows platforms, the Pervasive PSQL installation adds the
utility to the Start Menu so that it re-starts when you restart
Windows. On Linux distributions, the utility is a shell script. (See
also Pervasive Notification Viewer in “Message Logging” section.)
Ptksetup.ini contains new properties to control whether Pervasive
Notification Viewer is installed. See PTKSetup.ini in Installation
Toolkit Guide.
7
What Is New in Pervasive PSQL v11 SP1
Utilities
Pervasive PSQL v11 SP1 includes new and changed utilities.
„
„
„
License
Administrator
License Administrator
Pervasive Notification Viewer
Pervasive System Analyzer (PSA)
License Administrator provides new functionality.
Feature
Discussion
Authorizations
remaining for a key
A new action has been added to check the number of authorizations remaining for
a key. See To Display Remaining Authorizations (GUI) and To Display Remaining
Authorizations (CLI) in Pervasive PSQL User's Guide.
Validation action
A new action to validate keys has been added. In License Administrator, a validation
action updates the state of all keys. The allows you to see if a state has changed
(see next row in this table).
See To Perform a Validation (GUI) and To Perform a Validation (CLI) in Pervasive
PSQL User's Guide.
See also DTI.
New state for a key and
period allowed for
correction of failures
A new state for a key, “failed validation,” has been added.
Pervasive PSQL licensing components periodically verify that the key for the
database engine is still valid. If a key is determined to be invalid, the key changes
state from “active” to “failed validation.” The database engine functions normally for
a certain number of days so that you have ample time to correct the validation
failure(s). By default, the number of days is 14.
If you do not correct the failures before the number of days ends, the key changes
state again to “disabled.” The key is no longer valid and the database engine cannot
access data files. (The number of days is automatically extended, if necessary, so
that a key changes state to “disabled” only from Tuesday through Thursday in the
local time zone.)
See Key States Pervasive PSQL User's Guide.
Pervasive
Notification
Viewer
8
Pervasive Notification Viewer is a new tray application utility for
displaying messages logged by the licensing components. See
Pervasive Notification Viewer in “Message Logging” section.
Utilities
Pervasive
System
Analyzer (PSA)
PSA now supports numeric and named IPv6 addresses for its
network test. Note that Pervasive PSQL supports only the unicast
types for IPv6 loopback, global, and link local addresses. For
additional details, see Support for IPv6 in What Was New in
Pervasive PSQL v11.
9
What Is New in Pervasive PSQL v11 SP1
Relational Interface
This section discusses the new and revised functionality to support
the relational interface.
„
„
System Catalog Functions
Scalar Functions
System Catalog Pervasive PSQL v11 SP1 includes the following new system catalog
functions:
Functions
„
„
„
„
„
„
„
„
dbo.fSQLColumns
dbo.fSQLForeignKeys
dbo.fSQLPrimaryKeys
dbo.fSQLProcedures
dbo.fSQLProcedureColumns
dbo.fSQLSpecialColumns
dbo.fSQLStatistics
dbo.fSQLTables
The system catalog functions allow you to obtain database metadata
from the data dictionary files (also known as the catalog) and can be
used only in a FROM clause. A temporary view schema for each
system catalog function is created during SQLPrepare and data is
stored in the view by calling a corresponding ODBC catalog API
during SQLExecute.
See the chapter System Catalog Functions in SQL Engine Reference.
Scalar
Functions
The following scalar functions are either new, have additional
parameters, or were previously undocumented.
Function
Description
See in SQL Engine
Reference
DAY (date_exp)
Returns the day of the month for the given
date_exp.
Time and Date Functions
DATEPART (datepart, date_exp)
TZoffset is an addition to the values that can
be used for datepart. TZoffset returns a time
zone offset in number of minutes (signed).
Time and Date Functions
10
Relational Interface
Function
Description
See in SQL Engine
Reference
ISNUMERIC (string)
Returns 1 (TRUE) if string can be evaluated
as a numeric value; otherwise returns 0
(FALSE).
String Functions
REVERSE (string)
Returns a character string with the order of
the characters in string reversed.
String Functions
SYSDATETIMEOFFSET
Returns the current date and time along with
the hour and minute offset between the
current time zone and UTC of the computer
on which the Pervasive PSQL database
engine is running.
Time and Date Functions
WEEKDAY (date_exp)
Returns the day of the week for the given
date_exp, where 1=Sunday and 7=Saturday.
Time and Date Functions
11
What Is New in Pervasive PSQL v11 SP1
SDK Access Methods
Pervasive PSQL v11 SP1 includes enhancements to the following
SDK access methods:
„
„
„
„
Btrieve API
DTI
DTO
PDAC
Btrieve API
The Pervasive PSQL downloads now include a sample application
and files to show the use of the Btrieve API in the VB.NET
environment. This samples are available on the Pervasive web site at
http://www.pervasivedb.com.
DTI
DTI includes new and changed functions.
Functions
Description
New or Changed
PvValidateLicenses()
Initiates a validation action to
check validity of keys
New
PvGetProductsInfo()
Retrieves a list of all Pervasive
Software products found by
the License Manager
Changed. Includes
additional information
about licensing in
returned XML string,
such as grace period
Note PvValidateLicenses returns only the result from requesting
a validation action. It does not return any information about the
state of the keys. You must separately call PvGetProductsInfo()
to get the XML string of product information that includes
information about the state of the keys.
DTO
12
The Pervasive PSQL DTO SDK now includes support for 64-bit
environments, including the .NET framework. To use DTO with
your 64-bit applications, you need to install Pervasive PSQL Server
64-bit or Client 64-bit to obtain the 64-bit library W64DTO2.DLL.
See W64DTO2 in Distributed Tuning Objects Guide.
SDK Access Methods
If you use DTO with your .NET applications compiled as “AnyCPU,”
the 64-bit version of DTO allows your application to make DTO calls
on both 32-bit and 64-bit operating systems. See also Understanding
How Applications and DLLs Interact in Distributed Tuning Objects
Guide.
DTO also includes new and changed methods.
DTO Object
Method
Description
New or Changed
DtoDatabase
RemoveUserFromGroup
Removes an existing user
from an existing group
New
DtoLicenseMgr Object
ValidateLicenses
Initiates a validation action to
check validity of all keys
New
DtoLicenseMgr Object
GetProductInfo
Retrieves a list of all Pervasive
Software products found by
the License Manager
Changed. Includes
additional information
about licensing in
returned XML string,
such as grace period
Note ValidateLicenses returns only the result from requesting a
validation action. It does not return any information about the
state of the keys. You must separately call GetProductInfo to get
the XML string of product information that includes
information about the state of the keys.
PDAC
Pervasive PSQL v11 SP1 includes Pervasive Direct Access
Components fully integrated with the RAD Studio XE development
environment. See also Pervasive Direct Access Components Guide in
the SDK documentation.
13
What Is New in Pervasive PSQL v11 SP1
Linux
Pervasive PSQL v11 SP1 includes the following support for the Linux
operating system:
„
„
64-bit ODBC
Driver
64-bit ODBC Driver
Red Hat Enterprise Linux 6
Pervasive PSQL v11 SP1 supports the ODBC interface for 64-bit
applications on Linux. The 64-bit ODBC driver is installed with
Pervasive PSQL Server 64-bit and Pervasive PSQL Client 64-bit.
On Linux distributions, individual ODBC drivers are loaded
through the driver manager UNIXODBC. The driver manager
maintains a mapping from Data Source Names (DSNs) to the
specific Pervasive PSQL ODBC drivers.
The installation of Pervasive PSQL Server 64-bit or Client 64-bit
leaves user-defined, pre-existing 32-bit DSNs as is, meaning they are
not immediately accessible from a 64-bit application. For new DSNs,
the installation of both products assigns a 32-bit and a 64-bit ODBC
driver in odbcinst.ini. This assignment allows a single DSN to be
used by both a 32-bit application and a 64- bit application.
If you want pre-existing 32-bit DSNs to be accessible to both 32-bit
and 64- bit applications, you must recreate them as new-style DSNs
(see Pervasive ODBC Interface in Table 2).
ODBC and Data Source Names (DSNs)
The client application bitness does not have to match the bitness of
the Pervasive PSQL Server product. For example, the 64-bit ODBC
driver or the 32-bit ODBC driver can be used to connect to either
Pervasive PSQL Server 64-bit or Pervasive PSQL Server 32-bit.
For the Pervasive PSQL Client, however, the application bitness does
have to match the bitness of the Pervasive PSQL Client on the client
machine. That is, if you want to use a 64-bit application on the client,
the Pervasive PSQL 64-bit Client must be installed.
14
Linux
Pervasive PSQL v11 provides three ODBC drivers, as explained in the
following table.
Table 2
Pervasive PSQL ODBC Driver Descriptions for Linux
ODBC Driver Description in INI
Files
PSQL Product
Installed With
Behavior for All Products Installed With
Pervasive ODBC Engine Interface
Server 64-bit
•
Installation assigns an ODBC driver in
odbc.ini for compatibility with pre-existing
Engine DSNs
•
Connects to a local named database
•
No longer created by default with dsnadd
utility (the -engdsn option must be specified).
See also Utilities Affected by ODBC
Changes.
•
Visible when viewing “Engine DSNs” in
ODBC Administrator running on a Windows
client
•
For use by 32-bit applications that are
already coded to use Engine DSNs
•
32-bit Engine DSNs deprecated in Pervasive
PSQL v11. See What Was New in Pervasive
PSQL v11.
•
Installation assigns an ODBC driver in
odbc.ini for compatibility with pre-existing
Client DSNs
•
Connects to a local or remote named
database or an Engine DSN
•
For use by 32-bit applications that are
already coded to use Client DSNs
•
No longer created by default when -host is
specified with dsnadd (the -clntdsn option
must be specified). See also Utilities Affected
by ODBC Changes.
•
Installation assigns ODBC drivers in
odbcinst.ini for use by new 32-bit and 64-bit
DSNs
•
Connects to a local or remote named
database
•
The recommended driver description to use
for 32-bit and 64-bit applications
•
Created by default with dsnadd utility. See
also Utilities Affected by ODBC Changes.
•
Not visible as “Engine DSNs” in ODBC
Administrator running on a Windows client
Server 32-bit
Pervasive ODBC Client Interface
Server 64-bit
Server 32-bit
Client 32-bit
Pervasive ODBC Interface
Server 64-bit
Client 64-bit
15
What Is New in Pervasive PSQL v11 SP1
Frequently Asked Questions
The following table answers some frequently asked questions (FAQs)
about the ODBC and DSN support for Linux in Pervasive PSQL v11
SP1.
Table 3
FAQs About ODBC and DSN Support for Linux
Question
Answer
Have 32-bit Engine DSNs been deprecated?
Yes. Pervasive recommends, rather than using Engine
DSNs, that new applications or revised 32-bit applications
create a DSN that connects to a named database. See also
What Was New in Pervasive PSQL v11.
What is a so called “DSN-less” connection?
A DSN-less connection is one that connects to a named
database using the ODBC driver “Pervasive ODBC Client
Interface” (for pre-existing 32-bit applications) or the
“Pervasive ODBC Interface” driver (for 32-bit or 64-bit
applications).
What happens to my existing 32-bit Engine
DSNs when I upgrade to Pervasive PSQL v11
SP1 Server or Client?
No migration steps are required. Existing user-defined 32bit Engine DSNs remain in place and continue to work as
configured. Applications on the PSQL Server or Client
machine continue to work with 32-bit Engine DSNs.
An exception to this is the DEMODATA sample database
installed with Pervasive PSQL Server 64-bit. The DSN for
DEMODATA is recreated during installation using
“Pervasive ODBC Interface” to connect to a named
database.
If you want pre-existing 32-bit DSNs to be accessible to
both 32- and 64-bit applications, you must recreate them
using “Pervasive ODBC Interface” to connect to a local or
remote named database.
What happens to my existing 32-bit Client DSNs
when I upgrade to Pervasive PSQL v11 SP1
Client?
No migration steps are required. Existing Client DSNs
continue to connect to remote Engine DSNs.
Can I still create Engine DSNs and Client
DSNs?
Yes, but you must specify the -engdsn or -clntdsn option
with dsnadd. See Utilities Affected by ODBC Changes.
DSNs created with either option support only 32-bit
applications.
16
Note, however, the recommendation is that new
applications or revised 32-bit applications should connect
to a named database, not to an Engine DSN since Engine
DSNs are deprecated.
Linux
Table 3
FAQs About ODBC and DSN Support for Linux continued
Question
Answer
What about connections from PSQL Clients of
previous releases (such as a PSQL v10.x
Client)?
Pervasive PSQL still supports remote Client DSNs, so
clients from previous versions can still connect.
What are the ODBC connection strings for
Pervasive PSQL DSNs?
See ODBC Connection Strings in SQL Engine Reference.
What do I need to do about DSNs if I port my 32bit application to 64-bit?
You must create new DSNs that connect to a named
database using “Pervasive ODBC Interface.”
What about the DSNs for the Demodata sample
database installed with the database engine?
The installation of Pervasive PSQL Server 64-bit or Client
64-bit creates the DEMODATA DSN using “Pervasive
ODBC Interface” to connect to a named database. This
means that clients using Windows ODBC Administrator no
longer see DEMODATA in the list of Engine DSNs from the
Pervasive PSQL Server. The clients have to view the
Database Names list instead. A 64-bit application would
not be able to connect to DEMODATA through an Engine
DSN.
What if my application uses DTI to manage
DSNs?
The DTI functions for DSNs manage only 32-bit Engine
DSNs. Therefore, the DTI functions for DSNs are
deprecated along with the 32-bit Engine Interface ODBC
driver. See What Was New in Pervasive PSQL v11.
Note, however, Engine DSNs are only 32-bit for both
Pervasive PSQL Server 32-bit and 64-bit. 64-bit Engine
DSNs cannot be created with Pervasive PSQL.
(An alternative to using DTI to manage DSNs is to use SQL
and ODBC statements. For example, you could use
CREATE DATABASE to create a named database and
SQLConfigDatasource to configure the DSNs.)
Does Pervasive PSQL v11 SP1 include new
utilities to support 64-bit ODBC and DSNs?
Yes. See Utilities Affected by ODBC Changes.
Are there any changes to existing utilities to
support 64-bit ODBC and DSNs?
Yes. See Utilities Affected by ODBC Changes.
17
What Is New in Pervasive PSQL v11 SP1
Table 3
FAQs About ODBC and DSN Support for Linux continued
Question
Answer
Do some descriptor fields that can be set
through the various ODBC SQLSet and SQLGet
functions accommodate 64-bit values while
others are still 32-bit values?
Yes, if you are using the 64-bit ODBC driver. Ensure that
you use the appropriate sized variable when setting and
retrieving descriptor fields. For more information, see http:/
/www.unixodbc.org/doc/ODBC64.html.
A point of clarification is that SQL_ROWSET_SIZE is
supported by both SQLGetStmtOption and
SQLGetStmtAttr. If you are using the 64-bit ODBC driver
and you call either SQLGetStmtOption or SQLGetStmtAttr,
a 64-bit value is returned in *ValuePtr when that attribute
parameter is set to SQL_ROWSET_SIZE.
Going forward, is there a recommended
strategy for ODBC connections?
Yes. New applications or revised 32-bit applications, local
or remote, should connect to a named database.
This positions your application for the future when Engine
DSNs will no longer be supported in Pervasive PSQL.
(Note that you can manage DSNs through the use SQL and
ODBC statements. For example, you could use CREATE
DATABASE to create a named database and
SQLConfigDatasource to configure the DSNs.)
ODBC Header Files
The sql.h, sqltypes.h, and sqlext.h header files for ODBC contain
differences for the compilation of 32-bit and 64-bit applications.
Refer to the ODBC documentation on the UNIXODBC Web site for
a discussion of 64-bit ODBC. For example, you may find the
following information useful: http://www.unixodbc.org/doc/
ODBC64.html.
18
Linux
Utilities Affected by ODBC Changes
„
„
A 64-bit version of isql, isql64, is installed with Pervasive PSQL
Server 64-bit and Client 64-bit. See isql in Pervasive PSQL User's
Guide.
The dsnadd utility has been changed to create a DSN using
“Pervasive ODBC Interface” by default. This style DSN allows a
single DSN to be used by both a 32-bit application and a 64- bit
application. The DSN is not visible as an Engine DSN in ODBC
Administrator, and the string "Pervasive ODBC Engine
Interface" is not present in the odbc.ini file.
If you want to create a deprecated, legacy-style Engine DSN or a
Client DSN, you must specify the -engdsn or -clntdsn option,
respectively. See dsnadd in Pervasive PSQL User's Guide.
„
The option to create a DSN on the New Database dialog
Pervasive PSQL Control Center (PCC) is qualified for 32-bit:
“Create 32-bit Engine DSN.” See New Database GUI Reference
in Pervasive PSQL User's Guide.
PCC is a 32-bit application; a 64-bit version of it is not available.
See also What Was New in Pervasive PSQL v11.
„
The Pervasive ODBC DSN setup GUIs have changed for
Windows platforms. See What Was New in Pervasive PSQL v11.
19
What Is New in Pervasive PSQL v11 SP1
Red Hat
Enterprise
Linux 6
Pervasive PSQL supports Red Hat Enterprise Linux 6. Note that, by
default, the 64-bit edition of this Linux distribution supports only
64-bit components and executables. The distribution media for 64bit Red Hat Enterprise Linux 6 includes the 32-bit libraries, but they
are not installed by default.
The following table summarizes installation notes specific to Red
Hat Enterprise Linux 6, including a discussion of certain 32-bit
libraries required for Pervasive PSQL.
Pervasive PSQL Product
Installation Notes for Red Hat Enterprise Linux 6 64-bit
•
64-bit Server
•
32-bit Server
•
32-bit Client
The Pervasive PSQL installation RPM and TAR files check for the existence of
the 32-bit GLIBC and LIBSTDC++ libraries. If these libraries are not present, the
Pervasive PSQL installation stops and displays a message. To install Pervasive
PSQL, you must first install glibc.i686 and libstdc++.i686.
The Pervasive PSQL installation RPM and TAR files also check for the
existence of 32-bit GTK. If GTK is not present, Pervasive PSQL displays a
warning message. The message informs you that PCC, DDF Builder and GUI
Phone Authorization utilities will not function until 32-bit GTK is installed. The
Pervasive PSQL installation continues and completes after displaying the
message.
To ensure that PCC, DDF Builder and GUI Phone Authorization utilities work,
install the following Linux packages:
•
gtk2.i686
•
PackageKit-gtk-module.i686
•
libcanberra-gtk2.i686
•
gtk2-engines.i686.
For example:
yum install gtk2.i686 PackageKit-gtk-module.i686 libcanberra-gtk2.i686 gtk2engines.i686
Note that, except for the three utilities just mentioned, Pervasive PSQL is
functional even if the 32-bit GTK is not present. That is, the database engine is
functional, all command line utilities work and the Pervasive PSQL libraries are
present and accessible by your applications. Your client applications should still
function as long as they do not require the 32-bit GTK.
•
64-bit Server
•
32-bit Server
The Pervasive PSQL installation attempts to configure Samba. However, by
default, Samba is only partially installed and is not enabled on Red Hat
Enterprise Linux 6.
You may ignore installation errors pertaining to creating the PSQLDATA Samba
share (the smb.conf file exists, but nothing is there to support it). The errors are
benign and Pervasive PSQL functions normally.
20
Macintosh
Macintosh
Pervasive PSQL v11 SP1 supports 64-bit Btrieve and 64-bit DTI on
the Mac OS X 10.5 and 10.6 operating systems.
21
What Is New in Pervasive PSQL v11 SP1
Features for Original Equipment Manufacturers
See “About This Manual” chapter in OEM Partner Handbook for a
summary of Pervasive PSQL v11 SP1 features specific for original
equipment manufacturers (OEMs).
22
Appendix
What Was New in Pervasive
PSQL v11
A
An Overview of Features in Pervasive PSQL v11
The General Release includes the following new features and
changes:
„
„
„
„
„
„
„
„
„
„
Multi-core Support
Support for IPv6
Pervasive PSQL v11Pervasive PSQL v1164-bit ODBC Driver
Support for .NET Framework 3.5 SP1 and 4.0
PDAC Development Environments
Enhancements to Other SDK Access Methods
Pervasive PSQL v11Product Authorization
Configuration Settings
Utility Changes
Deprecated and Discontinued Features
Pervasive PSQL v11
23
What Was New in Pervasive PSQL v11
Multi-core Support
Pervasive PSQL v11 is specifically designed to increase scalability and
performance on multi-core machines. Install Pervasive PSQL v11 on
a multi-core machine and the benefits are immediately available in a
multiuser environment.
You may wonder “what benefits?” Increased scalability and
performance are obviously desirable and assumed to be available
with advances in hardware technology. Heretofore, advances in
hardware technology meant advances in speed. Applications just ran
faster. Today, advances in computing technology mean increased
parallelism and not increased clock speeds. And that presents
challenges to which your application has probably never had to
contend.
The rules have not just changed because of multi-core environments,
they have changed dramatically. For example, applications that share
data with multiple users and use a database where transactional
integrity must be maintained can run slower on multi-core
processors.
Because the majority of applications using Pervasive PSQL fall into
that category, multi-core support is a primary feature of Pervasive
PSQL v11. It is of primary importance to you as you transition your
multiuser applications into multi-core environments.
Why Multi-core
Support
Without modifications, almost all software applications can run on
multi-core machines. But consider the following scenario, which is
based on real-world feedback:
You replace your antiquated production server with a current
one. Your multiuser application gets installed on the new multicore machine with a compatible operating system. Things
should be humming better than ever. But response time is
slower. Performance is worse than before the hardware upgrade.
What happened? Critical components of your business solution are
no longer optimized for one another in the new world of multi-core.
Think of it this way. Your “application” comprises four main pieces:
the code you wrote (application in its common definition), the
database, the operating system, and the hardware. Changing the
24
Multi-core Support
hardware has a significant impact if it fundamentally differs from its
predecessors.
But tuned in the right way, applications that would otherwise be
slowed down can take advantage of hardware changes and
experience significant performance improvement. In many cases,
swapping out portions of the application stack, such as the database,
can address multi-core issues with no immediate changes required to
the application. This approach provides as a low risk way to buy time
while you plan longer-term strategies for application development.
Using Pervasive PSQL v11 as the database, you can realize increased
performance and scalability on multi-core machines.
Performance
Pervasive PSQL v11 has been architected to provide parallel threads
performing similar activities. The gains in increased parallel
processing improve the throughput to the point that multiple
processors are engaged. The result is that performance of the
database engine increases in multi-core environments with multiple
clients accessing a central server. Your multi-client application can
benefit from this increased performance without requiring you to
recompile or rearchitect the code.
Pervasive PSQL v11 also provides enhancements to the low-level
synchronizations mechanisms in the transactional interface.
Multiple users can read the same cached file pages simultaneously
and their operations can proceed on independent server CPUs. Nonuser activity such as checkpoints and log management can also use
additional server CPUs.
Scalability
The scalability of Pervasive PSQL v11 has also been enhanced
through architecture designs made specifically for multi-core
hardware. For example, multiple users accessing independent files
can proceed on independent server CPUs. The database engine can
also handle higher user loads with less overhead, resulting in steadier
throughput.
Just as with the performance improvements, all of the scalability
enhancements are available without requiring you to recompile or
rearchitect your code.
25
What Was New in Pervasive PSQL v11
Configuration Settings
The majority of multi-core improvements in Pervasive PSQL v11 are
transparent. You are not required to adjust any settings to further
enhance the optimizations. The configuration setting
“Communications Threads” has changed and can be used to finetune performance if you choose. See Configuration Settings.
The Multi-core
Dilemma
Several common problems are at play in the multi-core world of
hardware and software interaction that may cause decreased
performance with your application. Among them are multiple
threads and memory contention. For a thorough discussion of these
and other problems, refer to the white paper The Multi-core
Dilemma by Dan Woods, CTO of CITO Research. The white paper is
available on the Pervasive Web site.
A brief discussion in this document of multiple threads and memory
contention illustrates why multi-core support is a primary feature of
Pervasive PSQL v11.
Multiple Threads
A multithreaded application does not necessarily run better on a
multi-core machine. In fact, you may find that your multithreaded
application runs slower.
To work correctly in parallel, the threads must be synchronized. An
application can be multithreaded, but the threads themselves not
synchronized. This situation is actually quite common, in which
older applications spin off additional threads as needed, more for
convenience than based on a design to ensure efficiency. Such
applications do not run better on a multi-core machines because the
threads contend with one another. Multiple cores provide no benefit
because thread contention inhibits throughput to the point that
multiple cores are not engaged.
Also, the multi-core architecture can perceive the subtasks that spin
off the multiple thread as a series of single threads. And, just as with
single-threaded programs, the threads are then forced into a single
queue and processed one by one. Caching does not improve the
problem; it makes it worse (see Memory Contention).
26
Multi-core Support
Where possible, each core should process separate data. Otherwise,
the overhead associated with synchronization can slow down
performance significantly. Recall that Pervasive PSQL v11 has been
architected to provide parallel threads that are synchronized.
Memory Contention
When most applications were written, developers did not have to
decide between parallel and non-parallel processes. The majority of
applications were written sequentially, meaning that they access
information serially or sequentially. A problem with memory
contention occurs when running a non-parallel (typical) application
on a multi-core system.
Consider the slapstick comedy skit that depicts a group of people
trying to get through a single doorway at the same time. This is good
for laughs because the individuals just jam together at the opening,
wedged into an immovable mass. Now, image that, instead of people
and a doorway, it is multiple threads trying to be processed at the
same time. With four to sixteen threads (or more) trying to get
through the same processor at once, a jam occurs that the operating
system must sort out.
If multiple cores or processors have caches that point to the same
data and one core modifies the data, the cached data on the other
core is no longer valid, and the caches must be synchronized.
Contention also occurs as the processors repeatedly check the caches
to ensure a task on one processor does not execute on outdated data
produced by another task on another processor. This checking slows
processing because each processor checks the memory cache
individually and sequentially.
Recall that with Pervasive PSQL v11 activities of multiple users
proceed on independent server CPUs as a way to reduce memory
contention. Multiple users can read the same cached file pages
simultaneously and access independent files.
The Role of the Operating System
You may be wondering how much the operating system (OS) assists
with the problems of multiple cores. Less than you would guess, even
with current 64-bit ones.
When contention for resources happens, the OS handles the
resolution. For the majority of applications, the OS handles thread
27
What Was New in Pervasive PSQL v11
contention slower on multi-core systems. That is, the OS on multicore systems take a longer time to resolve the contention points.
Why is this? An OS optimized for multi-core does not fix your
problems if your applications still require the operating system to
perform tasks in a single-file fashion.
When the OS gets requests from an application that do not
incorporate instructions for multi-core processing, the OS is very
cumbersome at sorting out the sequence in which the requests are
processed. This is analogous to a traffic jam on a highway.
Conceptually, the OS asks each waiting driver whether or not they are
ready to go before allowing the vehicle to proceed. Although such
processing jams are occurring at the OS level, users perceive the
slowdown as an application performance problem.
An application optimized for multi-core provides instructions for
the OS on how to manage shared resources and determine priority
for access to those resources. Information requests are organized in
such a way that they do not compete for cache lines or access to
central memory.
Recall that Pervasive PSQL v11 includes architecture designs made
specifically for multi-core hardware. Low-level locking has been
optimized for multi-core machines.
Benefiting from
the Present
While Planning
For the Future
Multi-core machines are the norm, so any current or future
hardware upgrades will include multiple cores. Operating systems
have yet to catch up with multi-core machines to assist optimal
performance. How best, then, to address these conditions?
Ultimately, applications will have to be rearchitected to perform
optimally on multi-core machines. This allows the application to
take advantage of parallel threads on multiple processors while
avoiding synchronization issues.
Rearchitecting takes thoughtful planning and time to implement,
perhaps even years. Meanwhile, business continues. As mentioned at
the beginning of this section, multi-core support becomes of
primary importance to you as you transition your applications into
multi-core environments.
28
Multi-core Support
Your “application” consists of your code, the database, the operating
system, and hardware. Hardware systems have already addressed
multi-core support. Operating system provide some assistance
provided your application takes advantage of the multiple cores.
That leaves the database.
The multi-core features of Pervasive PSQL v11 can help offset any
performance degradation your end users might experience from
your application not being optimized for multi-core environments.
In most cases, you can boost application performance without
having to recompile or change your application code.
Pervasive PSQL v11
29
What Was New in Pervasive PSQL v11
Support for IPv6
Internet Protocol version 6 (IPv6) is the next-generation Internet
Protocol version designated as the successor to IPv4. This section
discusses the following topics:
„
„
„
„
Using Pervasive PSQL With IPv6
Frequently Asked Questions About IPv6 Support
Pervasive PSQL Utilities and IPv6
IPv6 Aspects for Application Programmers
Using
Pervasive PSQL v11 supports IPv6 for the following access methods
on Windows operating systems:
Pervasive
PSQL With IPv6 „ Transactional (also known as Btrieve)
„
DTI (Distributed Tuning Interface)
Both access methods function correctly in an IPv4 environment, an
IPv6 environment, or an environment that combines the two. No
special configurations of Pervasive PSQL are required.
Client Connections
A Pervasive PSQL Client connects to a IPv6 host running the
Pervasive PSQL database engine the same way as for IPv4. That is,
the Client specifies a server and connects through DTI or by
specifying a URI or UNC. The server can be either the name or IP
address of the machine running Pervasive PSQL Server or
Workgroup.
See also the following:
„
„
„
Database URIs in Pervasive PSQL Programmer's Guide.
Universal Naming Convention (UNC) Path Formats in Getting
Started With Pervasive PSQL.
Making a Connection to a Server Using DTI in Distributed
Tuning Interface Guide.
The following topics in this subsection discuss how to specify a
server using IPv6 addresses.
30
Support for IPv6
IPv6 Address Formats
Raw IPv6 addresses can be written as 8 colon-separated segments
where each segment is a a 4-digit hexadecimal value. For example,
1234:5678:90ab:cdef:1234:5678:90ab:cdef.
Pervasive PSQL supports only unicast addresses. The following are
the unicast address formats that can be used with Pervasive PSQL.
Table 4
IPv6 Unicast Address Formats Supported by Pervasive PSQL
Unicast Address
Format
Description
Loopback
The local loopback address, which in IPv6 is 0:0:0:0:0:0:0:1.
The loopback address can be abbreviated to ::1.
The IPv6 loopback address is equivalent to the IPv4 loopback
address of 127.0.0.1.
Global
Global addresses have a 64-bit prefix where the first 3 bits
are always 001, the next 45 bits are set to the global routing
prefix, the next 16 bits are set to the subnet ID and the last
64-bits are the interface ID.
Example: 2001:db8:28:3:f98a:5b31:67b7:67ef
Link Local
Link Local addresses are used by nodes when
communicating with neighboring nodes on the same link. Link
Local addresses have a 64-bit prefix where the first 10 bits
are set to 1111 1110 10, the next 54 bits are set to 0 and the
last 64 bits are the interface ID. The link local prefix is often
represented as FE80::/64.
Example: fe80:0:0:0:713e:a426:d167:37ab (which may also
be specified as fe80::713e:a426:d167:37ab)
See also Restrictions.
31
What Was New in Pervasive PSQL v11
IPv6 Address Modifiers
IPv6 includes address modifiers which can act as shortcuts, or to
specify the destination in more detail. Pervasive PSQL supports the
following ones for IPv6.
Modifier
Explanation
::
Represents one or more colon-separated zeroes. For example,
::1 is equivalent to 0:0:0:0:0:0:0:0:1. The :: modifier can be used
only once within an IPv6 address.
%
Represents the ZoneID or interface of a destination node. A
ZoneID is an integer that specifies the zone of the destination for
IPv6 traffic.
See Restrictions.
IPv6 With UNC Paths and URI Connections
UNC paths do not allow certain special characters, such as colons.
Since raw IPv6 addresses use colons, different methods of handling
UNC paths are available. Pervasive PSQL supports the following
methods:
„
„
IPv6-literal.net Names
Bracketed IPv6 Addresses
IPv6-literal.net Names
An ipv6-literal.net name is a raw IPv6 address with three changes:
„
„
„
":" is replaced with "-"
"%" is replaced with "s"
The whole address is appended with ".ipv6-literal.net"
Examples:
Initial Addresses
fe80::713e:a426:d167:37ab%4
2001:db8:28:3:f98a:5b31:67b7:67ef
Modified Addresses
fe80--713e-a426-d167-37abs4.ipv6-literal.net
2001-db8-28-3-f98a-5b31-67b7-67ef.ipv6-literal.net
Ipv6-literal.net names are allowed in a URI or UNC used with
Pervasive PSQL.
32
Support for IPv6
Bracketed IPv6 Addresses
A bracketed IPv6 address is a raw IPv6 address with square brackets
around it. This format is also referred to as a UNC-safe address.
Examples:
Initial Addresses
fe80::713e:a426:d167:37ab%4
2001:db8:28:3:f98a:5b31:67b7:67ef
Modified Addresses
[fe80::713e:a426:d167:37ab%4]
[2001:db8:28:3:f98a:5b31:67b7:67ef]
The use of square brackets is required for raw IPv6 addresses used in
a URI or UNC with Pervasive PSQL. See Restrictions. Note that if
you use an address with a ZoneID in a URI, the ZoneID character
“%” must use the escape characters “%25.” See Restrictions.
33
What Was New in Pervasive PSQL v11
Restrictions
The following table lists the restrictions on the use of IPv6 with
Pervasive PSQL.
Table 5
IPv6 Restrictions With Pervasive PSQL
Restriction
Discussion
The Pervasive
PSQL Server
Engine in an IPv6only environment
The Pervasive PSQL Server Engine is not supported in an
IPv6-only environment on Windows Server 2003 or
Windows XP operating systems. The Server Engine may be
used with IPv6 on Windows Vista, Windows 7, and Windows
Server 2008.
With Windows Server 2003 or Windows XP, status code 170
is returned when a PSQL Client attempts to connect to the
PSQL Server. NetBIOS over TCP (NetBT) is not
implemented for IPv6 on Windows Server 2003 or Windows
XP.
If you want to use PSQL Server on Windows Server 2003 or
Windows XP, the network environment must be IPv4 or a
combination of IPv4 and IPv6.
This restriction applies only to the Server Engine. Pervasive
PSQL Workgroup may be used with IPv6 on Windows
Server 2003, Windows XP, Windows Vista, Windows 7, and
Windows Server 2008.
Square brackets
are required for
raw IPv6
addresses when
the address is
used in a URI or
UNC
Raw IPv6 addresses, abbreviated or not, must be enclosed
by square brackets if the address is used in a URI or UNC.
Examples:
•
btrv://czjones@[2001:b1::23]/demodata
•
btrv://abanderas@[2001:12:34:56:78:90:12:23]/
demodata
•
\\[2001:12:34:56:78:90:12:23]\acctsvr1\Domestic\file.mkd
Failure to bracket the IPv6 address results in status code
3014 or 3103 for Btrieve calls using a URI, or status code 11,
94, or 170 for Btrieve calls using a UNC.
In a URI, if you
include a ZoneID
to a server
address, the “%”
ZoneID character
must be escaped
with “%25”
If you use a btrv:// connection with an IPv6 address, you
must escape the ZoneID for the host name.
Example:
A UNC-safe addresses like
btrv://@[fe80::20c:29ff:fe67:2ee4%4]
must be changed to
btrv://@[fe80::20c:29ff:fe67:2ee4%254]
34
Support for IPv6
Table 5
Frequently
Asked
Questions
About IPv6
Support
IPv6 Restrictions With Pervasive PSQL
Restriction
Discussion
PCC usage in an
IPv6-only
environment
In an IPv6-only environment, PCC allows only the
functionality supported by the transactional or DTI access
methods. For example, you can connect a PSQL Client from
an IPv6-only machine to a database engine on an IPv6-only
server machine. PCC allows you to view and set Engine and
Client properties because those features use DTI. However,
you cannot browse databases or use Table Designer
because those feature use other access methods, such as
the relational interface, which are not yet supported for IPv6.
License
Administrator (and
clilcadm)
The Pervasive licensing server does not yet support IPv6.
Because of this, you can use License Administrator over
IPv6 to administer licenses but you cannot authorize a
license with the utility. To authorize a license, you must use
an IPv4 network, remote authorization, or telephone
authorization.
The following table answers some frequently asked questions (FAQs)
about IPv6 support in Pervasive PSQL v11.
Table 6
FAQs About IPv6 Support
Question
Answer
Can I use Pervasive Auto Reconnect (PARC) with
IPv6?
Yes.
Does Pervasive PSQL support IPv6
communications in virtual machine environments?
Yes.
Does IPv6 support apply to the relational access
method (SRDE)?
No. Only the transactional
and DTI access methods are
supported.
Is IPv6 supported for Linux distributions or
Macintosh OS X?
No. Only Windows platforms
are supported.
Is IPv6 supported for Pervasive DataExchange,
AuditMaster, and Backup Agent?
No.
35
What Was New in Pervasive PSQL v11
Table 6
Pervasive
PSQL Utilities
and IPv6
FAQs About IPv6 Support continued
Question
Answer
Does a network environment that includes both
IPv4 and IPv6 affect Pervasive PSQL user
counts?
No. Pervasive PSQL Server
or Workgroup uses one user
count for each unique
incoming protocol from the
same client computer
session (such as TCP/IP and
SPX). IPv4 and IPv6 are just
different address formats of
TCP/IP.
Can the Listen IP Address configuration setting be
set to multiple addresses?
Yes. See Listen IP Address.
The following Pervasive PSQL utilities support IPv6. No special
configuration of them is required.
Utility
See Also
bcfg
Configuration Reference in Advanced Operations
Guide
Function Executor
Testing Btrieve Operations in Advanced Operations
Guide
License Administrator
(and clilcadm)
License Administration in Pervasive PSQL User's
Guide
See Restrictions.
Monitor (and bmon)
Monitoring Database Resources in Advanced
Operations Guide
Pervasive PSQL
Control Center (PCC)
Using Pervasive PSQL Control Center in Pervasive
PSQL User's Guide
If you are using PCC in an IPv6-only environment, see
Restrictions.
IPv6 Aspects
for Application
Programmers
36
Because IPv6 has not been widely adopted, the section discusses a
few aspects of it that an application programmer may want to
investigate further. The intent is not to explain in detail networking
concepts or IPv6, but to provide a very brief introduction to IPv6.
For a complete discussion of IPv6, see the IPv6 specification at
www.ipv6.org, and refer to the IPv6 documentation from the various
operating system vendors and network hardware vendors.
Support for IPv6
Importance of IPv6
IPv6 is the next-generation Internet Protocol version designated as
the successor to IPv4. IPv4 was the first implementation used in the
Internet that is still in dominant use currently. Because of the age of
IPv4, and the changing world environment of networking, IPv4
contains several limitations that make it unsuitable for future needs.
Perhaps the most serious limitation is that its address space will
eventually be exhausted. Even today, public IPv4 addresses have
become relatively scarce. In addition, world-wide networking has
introduced requirements beyond what IPv4 provides, such as
simpler configuration capabilities, enhanced security, and
extensibility.
IPv6 addresses the shortcomings of IPv4 as well as offering a host of
additional benefits. Newer hardware and operating systems provide
IPv6 support. Applications for certain sectors already require IPv6
support. For example, the governments of the United States and
Japan have mandated support for IPv6. Since IPv4 must eventually
be replaced, the sooner that occurs, the sooner the benefits of IPv6
can be realized.
Client/Server Communications
During the transition period between IPv4 and IPv6 support, both
protocols will likely be functional on certain operating systems.
Depending on the operating systems, this is referred to as dual layer
or dual stack. Note, however, that IPv4 and IPv6 traffic is
independently routed. For two hosts to communicate, both must
either be capable of using IPv4 or capable of using IPv6.
37
What Was New in Pervasive PSQL v11
Dual Layer
Dual Stack
•
Available on Windows Vista,
Windows Server 2008, and
Windows 7
•
Available on Windows Server
2003 and Windows XP ( and
Linux distributions)
•
IPv6 automatically installed
with the operating system
•
IPv6 must be installed as an
add-on for Windows platforms
•
IPv6 cannot be uninstalled
•
•
IPv6 can be turned off
IPv6 can be uninstalled on
Windows platforms
•
IPv4 can be turned off
•
IPv6 can be turned off
•
IPv4 cannot be turned off
If you want to configure the network settings at the operating system
level, note the following.
38
Operating System
IPv6 Notes
Windows Server
2003 and Windows
XP
IPv6 must be manually installed.
Windows Vista and
newer
Network GUI configuration utilities available, as well as the
command-line utilities ipconfig, netsh and nsupdate.
No network GUI utilities are available, but the following
command-line utilities are provided: ipconfig, netsh and
nsupdate.
Support for IPv6
Host Files, ZoneIDs, and Name Discovery
Within the hosts file, each IP uses only lines with compatible address
formats. For example, if you request an IPv4 address for a host name,
the IPv6 lines are ignored. Compatible addresses also apply for
localhost, so a hosts files typically has localhost lines for 127.0.0.1
(IPv4) and ::1 (IPv6).
When doing a lookup to convert a name into an address, the
application programmer specifies whether to use IPv4, IPV6 or both.
A networking component of the operating system uses
administrator-level preferences to determine how to sequence the
lookups to the local hosts file, the local DNS cache, the remote DNS
server, and so forth. With IPv6, there are new auto-discovery
protocols that can find remote machines without using DNS.
You can specify an IPv6 address in a hosts file with the following
restrictions:
„
„
Records in a hosts file cannot include the ZoneID
The hosts file can have separate lines for IPv4 and IPv6 with the
same node name.
The use of hosts files is most useful when ZoneIDs are not required.
ZoneID
The ZoneID maps to a network interface. With a single network
interface card (NIC) and gateway, a ZoneID is not needed because
the gateway is reached by only one route. Most machines enabled for
IPv6 have multiple interfaces because of built-in support for
transition routers like ISATAP, 6to4, or Teredo.
In netsh commands, you must use the interface name (using the
interface= parameter), for example “Local Area Connection 2” or
“eth0.” When using ping with an IPv6 address, you may need to use
the ZoneID, for example fe80::abcd%10, in which case the decimal
integer 10 is the ZoneID.
On Windows platforms, you can display the ZoneIDs for each
interface with the ipconfig command..
39
What Was New in Pervasive PSQL v11
Name Discovery
IPv6 contains auto-discovery protocols that can find remote
machines without using Domain Name System (DNS). The Link
Local Multicast Name Resolution (LLMNR) is a protocol based on
the DNS packet format. LLMNR allows both IPv4 and IPv6 hosts to
perform name resolution for hosts on a single subnet without a DNS
server. Since every IPv6 machine has a link-local address, LLMNR
locates the machine on the subnet, if present, before having to
perform a DNS lookup for a link-global address.
40
Pervasive PSQL v11Pervasive PSQL v1164-bit ODBC Driver
Pervasive PSQL v11Pervasive PSQL v1164-bit
ODBC Driver
Pervasive PSQL v11 now supports the ODBC interface for 64-bit
applications. The 64-bit ODBC driver is installed with Pervasive
PSQL Server 64-bit and Pervasive PSQL Client 64-bit.
ODBC and Data On 64-bit Windows operating systems, 64-bit DSNs are distinct
Source Names from 32-bit DSNs because of the Windows registry design. Windows
ODBC Data Manager requires that you know the bit architecture
(DSNs)
(called “bitness”) of your application and create a DSN with that
same bitness. Pervasive PSQL v11 adopts this same model.
Therefore, 64-bit applications use the 64-bit ODBC driver and 32-bit
applications use the 32-bit ODBC driver.
The application bitness does not have to match the bitness of the
Pervasive PSQL Server product. For example, the 64-bit ODBC
driver or the 32-bit ODBC driver can be used with either Pervasive
PSQL Server 64-bit or Pervasive PSQL Server 32-bit.
Pervasive PSQL v11 provides three ODBC drivers, as shown in the
following table.
Table 7
Pervasive PSQL ODBC Drivers for Windows
ODBC Driver
PSQL Product
Installed With
Behavior for All Products Installed With
Pervasive
ODBC Engine
Interface
Server 64-bit
•
Setup creates 32-bit Engine DSNs
Server 32-bit
•
Connects to a local named database
•
For use by 32-bit applications
•
Deprecated in Pervasive PSQL v11,
as explained below
Server 64-bit
•
Setup creates 32-bit Client DSNs
Server 32-bit
•
Connects to a local or remote named
database or an Engine DSN
Client 32-bit
•
GUI lists both named databases and
Engine DSNs
•
For use by 32-bit applications
•
Setup creates 64-bit DSNs
•
Connects to a local or remote named
database
•
For use by 64-bit applications
Workgroup
Pervasive
ODBC Client
Interface
Workgroup
Pervasive
ODBC
Interface
Server 64-bit
Client 64-bit
41
What Was New in Pervasive PSQL v11
To simplify the method for connecting to a named database,
Pervasive PSQL v11 includes the following enhancements:
„
„
„
Deprecating 32-bit Engine DSNs. The 32-bit Engine Interface
driver is still provided in this release, primarily for backwards
compatibility. Pervasive recommends, rather than using Engine
DSNs, that new or revised 32-bit applications connect to a
named database through a Client DSN or use a DSN-less
connection by specifying “Pervasive ODBC Client Interface.”
Deprecating the DTI functions that manage 32-bit Engine
DSNs. See DTI.
Providing a 64-bit Interface driver only for named databases.
The 64-bit ODBC Interface can connect to a local named
database, thus replacing the function of the Engine DSN, or to a
remote named database. Connection to an Engine DSN is not
supported.
Frequently Asked Questions
The following table answers some frequently asked questions (FAQs)
about the ODBC and DSN support in Pervasive PSQL v11.
Table 8
FAQs About ODBC and DSN Changes
Question
Answer
Is the 64-bit ODBC driver supported for
Linux distributions or Macintosh OS X?
No. Only Windows platforms are supported as discussed in Table
7.
What happens to my existing 32-bit
Engine DSNs when I upgrade to
Pervasive PSQL v11 Server or
Workgroup?
No migration steps are required. Existing 32-bit Engine DSNs
remain in place and continue to work as configured.
What happens to my existing 32-bit
Client DSNs when I upgrade to
Pervasive PSQL v11 Client?
No migration steps are required. Existing Client DSNs continue to
connect to remote Engine DSNs.
Applications on the PSQL Server or Workgroup machine continue
to work with 32-bit Engine DSNs.
If you edit a Client DSN with ODBC Administrator, you have the
option to continue using a remote Engine DSN or to use a remote
named database. See ODBC DSN Setup GUIs.
Note, however, the recommendation is that new or revised 32-bit
applications should connect to a named database, not to an
Engine DSN since Engine DSNs are deprecated.
Are connections that use “Pervasive
ODBC Client Interface” affected (so
called “DSN-less” connections)?
42
No. DSN-less connections that connect using “Pervasive ODBC
Client Interface” continue to work.
Pervasive PSQL v11Pervasive PSQL v1164-bit ODBC Driver
Table 8
FAQs About ODBC and DSN Changes continued
Question
Answer
What about connections from PSQL
Clients of previous releases (such as a
PSQL v10.x Client)?
Pervasive PSQL v11 still supports remote Client DSNs, so clients
from previous versions can still connect.
What are the ODBC connection strings
for Pervasive PSQL DSNs?
See ODBC Connection Strings in SQL Engine Reference.
What do I need to do about DSNs if I port
my 32-bit application to 64-bit?
If the application uses DSN-less connections that connect using
“Pervasive ODBC Client Interface,” change the connection string
to “Pervasive ODBC Interface.” See ODBC Connection Strings in
SQL Engine Reference.
Note, however, Engine DSNs are only 32-bit for both Pervasive
PSQL Server 32-bit and 64-bit. 64-bit Engine DSNs cannot be
created with Pervasive PSQL.
If the application uses DSNs, you must create 64-bit DSNs that
connect to a named database.
What about the DSNs for the Demodata
sample database installed with the
database engine?
The installation of Pervasive PSQL Server 32-bit or Pervasive
PSQL Workgroup creates a Client DSN for Demodata instead of
an Engine DSN. The installation of Pervasive PSQL Server 64-bit
creates both a 32-bit Client DSN and a 64-bit DSN for Demodata.
If you install Pervasive PSQL Client 64-bit on top of Pervasive
PSQL Server 32-bit or on top of Pervasive PSQL Workgroup, no
64-bit DSNs are created. Only the DSNs created by the
installation of the 32-bit database engine are present.
Similarly, if you install Pervasive PSQL Server 32-bit or Pervasive
PSQL Workgroup on top of Pervasive PSQL Client 64-bit, no 64bit DSNs are created. Only the DSNs created by the installation of
the 32-bit database engine are present.
How do I run the 32-bit ODBC
Administrator on a 64-bit operating
system?
See ODBC Administrator in SQL Engine Reference.
Why do I not see my DSNs in ODBC
Administrator?
On 64-bit Windows operating systems, 64-bit system DSNs are
distinct from 32-bit system DSNs because of the registry design.
If you are using the 64-bit ODBC Administrator, you will not see
the 32-bit system DSNs, and vice versa.
Note that, when the relational service interface on a 64-bit
operating system receives a connection from a client to an Engine
DSN, the database engine looks up the requested Engine DSN
only in the 32-bit registry.
See ODBC DSN Setup GUIs.
What if my application uses DTI to
manage DSNs?
See DTI.
43
What Was New in Pervasive PSQL v11
Table 8
FAQs About ODBC and DSN Changes continued
Question
Answer
What are the changes to ODBC
Administrator?
See ODBC DSN Setup GUIs.
Other than ODBC Administrator, does
Pervasive PSQL v11 include new utilities
to support 64-bit ODBC and DSNs?
No.
Are there any changes to existing utilities
to support 64-bit ODBC and DSNs?
Yes. See Utilities Affected by ODBC Changes.
Do some descriptor fields that can be set
through the various ODBC SQLSet and
SQLGet functions accommodate 64-bit
values while others are still 32-bit
values?
Yes, if you are using the 64-bit ODBC driver. Ensure that you use
the appropriate sized variable when setting and retrieving
descriptor fields. For more information, refer to the Microsoft
ODBC documentation. See especially http://msdn.microsoft.com/
en-us/library/ms716287%28VS.85%29.aspx.
A point of clarification is that SQL_ROWSET_SIZE is supported
by both SQLGetStmtOption and SQLGetStmtAttr. If you are using
the 64-bit ODBC driver and you call either SQLGetStmtOption or
SQLGetStmtAttr, a 64-bit value is returned in *ValuePtr when that
attribute parameter is set to SQL_ROWSET_SIZE.
Going forward, is there a recommended
strategy for ODBC connections?
Yes. New or revised 32-bit applications, local or remote, should
connect to a named database through a Client DSN, not to an
Engine DSN. Alternately, applications could use DSN-less
connections by specifying “Pervasive ODBC Client Interface.”
This positions your application for the future when Engine DSNs
will no longer be supported in Pervasive PSQL.
DTI
The DTI functions for DSNs manage only 32-bit Engine DSNs.
Therefore, the following DTI functions are deprecated along with
the 32-bit Engine Interface ODBC driver:
„
„
„
„
„
„
„
„
44
PvCreateDSN()
PvCreateDSN2()
PvGetDSN()
PvGetDSNEx()
PvGetDSNEx2()
PvDeleteDSN()
PvListDSNs()
PvModifyDSN()
Pervasive PSQL v11Pervasive PSQL v1164-bit ODBC Driver
„
PvModifyDSN2()
All of these functions operate only on the 32-bit registry. This applies
even if a 64-bit database engine is installed on a 64-bit operating
system. The 32-bit ODBC Administrator uses the DTI functions for
Engine DSNs. Therefore, the list of existing Engine DSNs and newly
created Engine DSNs are only for the 32-bit registry.
See Distributed Tuning Interface Guide for an explanation of the
functions that manage DSNs.
ODBC DSN Setup GUIs
The following changes apply to setting up DSNs through ODBC
Administrator.
„
A new graphical user interface (GUI) is available for setting up
64-bit DSNs. See also Table 7, Pervasive PSQL ODBC Drivers for
Windows.
45
What Was New in Pervasive PSQL v11
„
The GUI for setting up 32-bit Client DSNs has been modified as
follows:
Š
The GUI now allows selection of a local or remote server
name or IP address. See also Table 7, Pervasive PSQL ODBC
Drivers for Windows.
Š
Š
Š
Š
46
The “Server” group box is now labeled “Connection
Attributes”
The control labeled “Address” is now labeled “Server Name/
IP.”
The control labeled “Data Source Name” is now labeled
“Engine DSN.”
The “Options” button is now labeled “Advanced” and
displays the advanced connection attributes. The advanced
connection attributes provide the same choices as were
previously available on the Options dialog.
Pervasive PSQL v11Pervasive PSQL v1164-bit ODBC Driver
„
The GUI for setting up Engine DSNs has been modified as
follows:
Š
The “Database” group box is now labeled “Connection
Attributes”
Š
The “Options” button is now labeled “Advanced” and
displays the advanced connection attributes. The advanced
connection attributes provide the same choices as were
previously available on the Options dialog.
See the chapter DSNs and ODBC Administrator in SQL Engine
Reference for a discussion of the new controls on the GUIs.
ODBC Header Files
The sql.h and sqltypes.h header files for ODBC contain differences
for the compilation of 32-bit and 64-bit applications. Refer to the
ODBC documentation on the Microsoft Web site for a discussion of
64-bit ODBC. For example, you may find the following information
useful: http://msdn.microsoft.com/en-us/library/
ms716287(VS.85).aspx.
Utilities
For Pervasive PSQL Server and Client installations on 64-bit
operating systems, Pervasive PSQL Control Center (PCC) contains
Affected by
ODBC Changes separate choices for 32-bit and 64-bit ODBC Administrator. The
choices are available on the Tools menu. See Additional Utilities in
Pervasive PSQL User's Guide.
In addition, the option to create a DSN on the New Database dialog
is now qualified for 32-bit: “Create 32-bit Engine DSN.” See New
Database GUI Reference in Pervasive PSQL User's Guide. (PCC is a
32-bit application. A 64-bit version of it is not available.)
The Pervasive ODBC DSN setup GUIs have changed. See ODBC
DSN Setup GUIs.
47
What Was New in Pervasive PSQL v11
Support for .NET Framework 3.5 SP1 and 4.0
Pervasive PSQL v11 provides two versions of the ADO.NET Data
Provider, version 3.2 and 3.5. Both versions are installed by default
with the database engine and with the Pervasive PSQL Client.
The installation puts both Data Providers under the “Program Files
(x86)” directory whether you are installing the 32-bit or 64-bit
version of Pervasive PSQL. The Data Providers are bitness
independent, however. Each Data Provider works with both the 32bit and the 64-bit .NET Framework.
Pervasive
PSQL ADO.NET
Data Provider
3.2
The Pervasive PSQL ADO.NET Data Provider 3.2 has no new
features from prior versions of the 3.2 Provider. It is included for
application developers who want to use that version with Pervasive
PSQL v11.
Pervasive
PSQL ADO.NET
Data Provider
3.5
Pervasive PSQL ADO.NET Data Provider 3.5 supports the new
features in .NET Framework 3.5 SP1. The Provider is compliant with
the .NET Framework Versions 2.0, 3.0, 3.5, 3.5 SP1, and 4.0. The 3.5
Provider does not support new features introduced in .NET
Framework 4.0 but will run under the .NET Framework 4.0 with
support for all the Entity Framework 1.0 features.
In addition, the Pervasive PSQL ADO.NET Data Provider 3.5
includes the following main features:
„
„
„
„
„
48
Development using a set of methods tailored for the new Entity
Framework consumers such as LINQ, EntitySQL, and
ObjectServices.
Pervasive Bulk Load. The DbBulkCopy class supports bulk
loading data in the Common Programming Model. In addition,
the Data Provider has a provider-specific bulk load class.
Connection statistics support.
A Schema Options connection string option to specify
additional schema metadata to be returned.
Native parameter marker and parameter binding support.
Support for .NET Framework 3.5 SP1 and 4.0
„
„
„
Microsoft Enterprise Library 4.1 (October 2008) support,
including data access application block (DAAB) support.
Initial Command Timeout connection string option to specify
an initial command timeout when a connection is established.
Support for Microsoft Visual Studio 2008 and Visual Studio
2010.
See Pervasive PSQL Data Provider for .NET Guide in the SDK
documentation for complete details.
49
What Was New in Pervasive PSQL v11
PDAC Development Environments
Pervasive PSQL v11 includes PDAC for these additional
development environments:
„
„
RAD Studio 2009
RAD Studio 2010
Support for RAD Studio 2009 and 2010 refers only to the Delphi and
C++ Builder components supported by Pervasive PSQL v11.
Pervasive PSQL v11 no longer provides PDAC integration for Delphi
and C++ Builder development environments version 6 and older.
See Deprecated and Discontinued Features.
See also Pervasive Direct Access Components Guide in the SDK
documentation.
50
Enhancements to Other SDK Access Methods
Enhancements to Other SDK Access Methods
Pervasive PSQL v11 includes enhancements to the SDK access
method Distributed Tuning Objects (DTO).
DTO
Pervasive PSQL v11 includes the following new methods.
DTO Object
Method
Description
DtoDatabase
AddUserToGroup
Adds an existing user to an existing
group in the database
AlterUserName
Changes an existing user's name in
the specified database
AlterUserPassword
Changes an existing user's
password in the specified database
CreateGroup
Creates a new user group in the
existing database
CreateUser
Creates a new user in the existing
database
DropGroup
Removes an existing group from
the database
DropUser
Removes an existing user from the
database
GetProductInfo
Returns an XML formatted list of all
Pervasive Software products found
by License Manager
DtoLicenseMgr
See the new methods in Distributed Tuning Objects Guide.
51
What Was New in Pervasive PSQL v11
Pervasive PSQL v11Product
Authorization
Product authorization is a validation process verifying that the copy
of the software is legitimate, correctly licensed and on the
appropriate hardware and software platform. Pervasive PSQL v11
includes the following additions to product authorization:
„
„
Telephone
Authorization
Telephone Authorization
Product Authorization for OEMs
If Pervasive PSQL Server or Workgroup is installed on a system that
has no Internet connectivity, directly or indirectly, the product can
be authorized by telephone with the assistance of Technical Support.
The toll free number at Pervasive is 800 287-4383.
Telephone authorization is available during regular United States
office hours, Central Standard Time. Calls received during off-hours
or holidays are returned the next business day.
See Telephone Authorization in Pervasive PSQL User's Guide for
complete details.
Product
Authorization
for OEMs
Pervasive PSQL v11 extends the product authorization technology to
our original equipment manufacturer (OEM) partners. If you are an
OEM partner, refer to the following resources:
„
„
52
Product authorization information on the Pervasive Web site.
OEM Web Portal on the Pervasive Web site. The Portal allows
you to generate product keys and perform various
administrative functions pertaining to keys. The Portal is
available 24/7 and provides an easy-to-use interface. (Your
Pervasive PSQL sales representative can provide more
information about the Portal.) See also on the Portal:
Š
Manufacturing Partner Handbook, which has been
extensively revised.
Š
Product Authorization for OEM Partners white paper.
Š
Product Authorization Troubleshooting Guide for OEM
Support Staff.
Configuration Settings
Configuration Settings
Pervasive PSQL v11 includes changes to the following configuration
settings:
„
„
Communications Threads
Listen IP Address
Communications The range and default for the Communications Threads setting have
changed.
Threads
„
„
The range is now num_cores to 256, where num_cores is the
number of processors in the machine on which the database
engine is running.
The default is num_cores.
Previously, the range was 1 to 1,024 and the default was 16.
The Communications Threads setting can help improve scaling
under certain conditions. For example, if you have many clients
performing operations (typically writes) on one file, a lower setting
should improve scalability. The lower number of threads prevents
context switching on system resources. Another condition that this
setting may improve is a slowdown caused by thrashing among large
numbers of worker threads. In Pervasive PSQL v11, worker threads
are dynamically created only if all the existing threads are waiting on
record or file locks.
See Communications Threads in Advanced Operations Guide.
Listen IP
Address
The Listen IP Address setting now accepts multiple IP addresses
separated by a comma between each address. The string can be a
combination of IPv4 and IPv6 addresses. Any of the IPv6 address
formats supported can be used. See IPv6 Address Formats.
The Listen IP Address setting specifies the IP address or addresses the
database engine listens on when TCP/IP Multihomed is Off. See also
Listen IP Address and TCP/IP Multihomed in Advanced Operations
Guide.
53
What Was New in Pervasive PSQL v11
Utility Changes
Pervasive PSQL v11 includes changes to the following utilities:
„
„
Pervasive
PSQL Control
Center
Pervasive PSQL Control Center
ODBC Administrator
Pervasive PSQL Control Center (PCC) contains the following
change pertaining to DSNs.
„
„
On Pervasive PSQL Server 64-bit installations, the PCC Tools
menu contains separate choices for 32-bit and 64-bit ODBC
Administrator.
The option to create a DSN on the New Database dialog is now
qualified for 32-bit: “Create 32-bit Engine DSN.”
See also ODBC and Data Source Names (DSNs).
ODBC
Administrator
54
The Pervasive ODBC setup GUIs for 32-bit DSNs have changed. A
new ODBC setup GUI for 64-bit DSNs is available. See ODBC DSN
Setup GUIs.
Deprecated and Discontinued Features
Deprecated and Discontinued Features
Deprecated
Features
The following categories discuss features that are deprecated in
Pervasive PSQL v11. Although the features are still available in
Pervasive PSQL v11, they will be removed from the product in a
future release. Plan accordingly for new application development
and revisions to existing applications.
ODBC
The following ODBC features are still available in Pervasive PSQL
v11 but will be removed from the product in a future release.
„
„
32-bit Engine DSNs (32-bit Client DSNs now provide
comparable functionality). See ODBC and Data Source Names
(DSNs).
DTI functions that manage 32-bit Engine DSNs. See DTI.
Pervasive Direct Access Components (PDAC)
The PDAC dynamic libraries for Delphi 2006 (and 2007 which is
compatible with 2006) are still available in Pervasive PSQL v11 but
will be removed from the product in the future.
Discontinued
Features
The following features are no longer supported in Pervasive PSQL
v11.
„
„
„
Support for Windows 2000
Delphi and C++ Builder development environments version 6
and older. Pervasive PSQL v11 does not provide PDAC
integration with development environments version 6 and older.
The Pervasive PSQL ADO.NET Data Provider versions 2.1 and
3.0. The installation of the Pervasive PSQL v11 database engine
automatically uninstalls either Provider if the version is detected.
55
What Was New in Pervasive PSQL v11
56
Index
W
What Is New in Pervasive PSQL v11 SP1
additional logging to PVSW.LOG 5
Btrieve API
VB.NET sample application 12
DTI functions
PvAduditLicenses 12
PvGetProductsInfo 12
DTO
support for 64-bit environments 12
DTO methods
AduditLicenses 12
GetProductInfo 12
RemoveUserFromGroup 12
grace period 3
installation changes pertaining to firewalls 6
license administrator
license validation action 8
remaining authorizations 8
Linux
support for 64-bit ODBC 14
support for Red Hat Enterprise Linux 6 20
logging to operating system event log 4
Macintosh
support for 64-bit Btrieve and DTI 21
message logging 3
noncompliant key state 3
notification viewer 4
PDAC
integration with RAD Studio XE 13
performance monitoring counters 2
PSA
IPv6 support 9
relational interface
new and changed scalar functions 10
system catalog functions 10
What Was New in Pervasive PSQL v11
.NET Framework
support for version 3.5 SP1 48
ADO.NET
support for .NET Framework 3.5 SP1 48
Architecture
64-bit ODBC 41
Authorization
by telephone 52
Communications Thread
changes for multi-core support 26
Configuration settings
changes for Pervasive PSQL v11 53
Deprecated features 55
Discontinued Features 55
Driver
ODBC 41
DSN
deprecated DTI functions 44
Engine DSNs and deprecated DTI functions
44
setup GUIs 45
DTI
deprecated functions 44
DTO methods
new for Pervasive PSQL v11 51
IPv6
address formats supported 31
aspects for application programmers 36
bracketed addresses 33
client connections 30
FAQs 35
literal.net names 32
restrictions 34
UNC paths and URI connections 32
Key
product authorization and 52
Multi-core
configuration settings affected by 26
memory contention issues 27
multiple threads issues 26
performance and parallel threads 25
performance and scalability 25
primary component affecting 24
support for 24
ODBC
and 64-bit architecture 41
Index 57
deprecated features in Pervasive PSQL 42
DSN setup GUIs 45
frequently asked questions 42
Pervasive PSQL drivers for 41
PDAC
new development environments 50
Product Authorization
technology extended to OEMS 52
Product authorization 52
RAD Studio 50
Telephone authorization 52
UNC paths
with IPv6 32
URI connections
with IPV6 32
Utility
changes for Pervasive PSQL v11 54
58 Index