About This Document
Who Should Read This Manual
Introducing Zen
Understanding the Zen Database Management System
What is a Database?
What is a Database Management System?
Components of Zen
MicroKernel Engine
Relational Engine
Client (also called Requester)
Zen Control Center
Utilities
Documentation
Key Concepts
Database Structures and Terms
Value
Column or Field
Row or Record
Cell
Table
Index
Database
Schema
Remote
Local
Relational
Join
Unique Benefits of Zen
Engine Access Methods
Terminology Revisited
Understanding the DBMS Products
Zen Workgroup
Zen Enterprise Server
Zen Cloud Server
Crystal Reports for Zen
Using Zen Documentation
Getting Started
What's New
User's Guide
Advanced Operations Guide
SQL Engine Reference
Status Codes and Messages
Additional Information
File System Security
Using Zen
Starting and Stopping the Database Engine
Starting and Stopping the Enterprise Server Engine on a Windows Server
Service Dependencies
Starting and Stopping the Workgroup Engine on Windows
Starting and Stopping the Database Engine on Linux, macOS, and Raspbian
Linux and Raspbian
macOS
Linux and Raspbian
macOS
Linux and Raspbian
macOS
Verifying that the Database Engine is Running from a Remote PowerShell Session
Starting and Stopping the Database Engine on Windows IoT Core or Nano Server
Granting Administrative Rights for the Database Engine
Tasks Requiring Administrative Rights
How Administrative Rights are Granted
Rights Within an Active Directory Environment
Rights Provided to Non-Administrative Users
Tasks for Granting Administrative Rights
Granting Administrative Rights on a Windows Server
Service Settings and Login Authority
Default Setting
Logging On as "This Account"
User Rights Policy Tasks
Granting Administrator Rights on Linux Systems and macOS
Setting Up ODBC Database Access
ODBC Standard
Servers and Clients
Data Source Names
Internal Database Name
Applications Using the MicroKernel Engine
Setting Up Database Access with ZenCC
Setting Up Database Access on Windows
Setting Up Database Access on a Linux or macOS Server
Setting Up Client Access from a Windows Client
Setting Up a Client DSN on a Linux or macOS Client
Accessing Data on a Remote Engine Using ZenCC
Accessing Data via ODBC from Other Applications
Before You Begin
Does the Database Have a DSN Available?
Accessing Data Using Microsoft Excel
Accessing Data Using Microsoft Access
Deleting DSNs
Using Zen Control Center
An Overview of Zen Control Center
Zen Control Center on Windows
Zen Control Center on Linux
Installing ZenCC
Starting ZenCC on Windows
Starting ZenCC on Linux
Requirements for Running ZenCC on Linux
Troubleshooting Guide for Running ZenCC
Starting Control Center on macOS
Situations Requiring That You Clear ZenCC Cache
Editors and Views within ZenCC
Editor and View Characteristics
Zen Explorer
Objects and Their Properties
Right-click Tasks
SQL Editor
Grid
Text
Outline
Table Editor
Preferences
Preferences for ZenCC Window Views
File Encoding Preferences
Additional Utilities
External Tools
Services on Windows Servers
Services Properties
Database Engines
Database Engine Properties
Capacity Usage Viewer
Monitor
Defragmenter
Databases
Database Properties
Code Page
Database Code Page
ZenCC Connection Encoding
Directories
Dictionary Location
Data Directories
General
Bound Database
Integrity Enforced
Long Metadata (V2 Metadata)
Relational Constraints
Security
New Database GUI Reference
Create New Database GUI Elements
Creating, Modifying, Deleting, and Repairing Zen Databases
Tables
Data Tables
System Tables
Table Properties
Managing Schemas
Database Schema Export Options
Table Schema Export Options
IN DICTIONARY
Schema Export and Import Tasks
Common Uses for Exported Database Schema Files
Special Case: Working with Secure Database Schemas
Special Case: Working with Multiple or Variant Record Definitions
Troubleshooting Schema Export and Import Issues
Export Schema Log
Alternate Collating Sequence
Invalid Entries
Overlapping Columns
Btrieve Null Keys
Import Schema Log
SQL Errors
Variant Record Messages
Referential Integrity Constraints
Metadata Version Errors
Schema Validation Log
Offset Mismatches
Data Type Mismatches
Missing Attributes
Missing Indexes
Creating, Importing, and Exporting Data
Creating Data Through ZenCC
Importing Data with Bulk Data Utility
Importing Data with Import Data Wizard
Restrictions
Exporting Data with Export Data Wizard
Stored Procedures, Triggers, User-Defined Functions, and Views
Groups, Users, and Security
Security Tasks
General Tasks
Btrieve Security Policy Tasks
User and Group Tasks
Assigning Permissions Tasks
Configuring Database Engines and Clients
Dialogs for File Open and File Save
Encoding Choices for File Open and File Save Dialogs
Default Encoding
Invalid File Name Characters
File Open Dialog (Open SQL Document)
File Save Dialog (Save SQL Document)
Using the Standard Operating System Dialogs
Wide Character Data Support for Import Data, Export Data, and Export Schema
Import Data Dialog
Export Data Dialog
Export Table Schema Dialog
License Administration
License Administration Concepts
License Models
Concurrent User License Model
Obtaining a User Count
Capacity-based License Model
Data in Use
Estimating Data in Use
Behavior When Data Use Limit Is Reached
Corrective Action When Data in Use Limit Is Reached
Obtaining an Initial Data in Use Limit
License Enforcement
Authorize a Product
Authorization Access Through a Proxy Server
Windows Proxy Servers
Linux and macOS Proxy Servers
Offline Authorization Without Internet Access
Key Status, or State
Failed Validation and Failed-Validation Period
Repairing a Disabled or Failed Key
Increase User Count or Data in Use
Increasing User Count
Increasing Data in Use Limit
Message Logging
License Administrator Graphical User Interface
GUI Visual Reference
License Administrator Command Line Interface
CLI Syntax
License Administration Tasks
License Administrator
GUI Tasks
CLI Tasks
Alternative Authorization Tasks
Notification Viewer
GUI Tasks
CLI Tasks
Alternative Authorization Tasks
Telephone Authorization
Telephone Deauthorization
Notification Viewer
Table Editor
Table Editor Concepts
Overview
Table Editor Pages
Columns Page
Indexes Page
Foreign Keys Page
SQL View Page
CREATE Statements
ALTER Statements
Data Types
Null Values
Table Editor Graphical User Interface
Columns Page
Indexes Page
Foreign Keys Page
SQL View Page
Table Editor Tasks
General Tasks
Getting Started
Data
Columns Tasks
Indexes Tasks
Foreign Keys Tasks
SQL View Tasks
General Tasks
Columns Tasks
Index Tasks
Foreign Keys Tasks
SQL View Tasks
SQL Editor
SQL Editor Concepts
Overview
Statement Separators
Restrictions
Displaying Statement Results
Grid Window View
Identifying the Grid Window
Modifying Data and Adding Rows
Records Affected and Scrolling
Text Window View
Identifying the Text Window
Scrolling and Positioning
Outline Window View
Working with Common SQL Objects
SQL Editor Used in SQL View Tab of Table Editor
SQL Editor Tasks
General Tasks
Execution Tasks
Grid Tasks
Text View Tasks
Outline View Tasks
Common SQL Object Tasks
General Tasks
Statement Execution Tasks
Grid Tasks
Text Window Tasks
Outline View Tasks
Common SQL Objects Tasks
Zen System Analyzer (ZenSA)
ZenSA Concepts
View Modules
Test Active Installation
Network
Transactional Engine
Relational Engine
Frequently Asked Questions
What is the default log file name?
Can I use a different log file name?
What is the local default location for the log file?
What is the remote default location for the log file?
What kind of information is contained in the log file?
What happens to the information in the log file each time the tool is run?
How do I run ZenSA?
When would I want to use ZenSA?
ZenSA GUI Visual Reference
ZenSA Tasks
General Tasks
View Modules Tasks
Test Active Installation Tasks
Test at the Network Level
Test at the MicroKernel Level
Test at the Relational Level
Log File Tasks
Command Line Interface Utilities
CLI Utilities Overview
Platforms that Include CLI Utilities
Where to Find CLI Utilities
Windows
Linux, macOS, and Raspbian
Utilities by Platform and Engine Type
Command Line Interface Tool Reference
bcfg
bdu
Description
Synopsis
Parameters
Notes
Configuration Settings
Error Logging
Constraints
Best Practices
Sample Source File
Examples
bmon
btadmin
Description
Synopsis
Options
See Also
Notes
butil
Description
Synopsis
Options
See Also
clilcadm
Description
Synopsis
Options
See Also
clipaadm
Description
Synopsis
Without Parameters
With Parameters in Two Steps
See Also
dbdefrag
dbmaint
Description
Synopsis
Options
Examples
See Also
deu
Description
Synopsis
Options
Code Pages for Data Source
Code Pages for SELECT Results
Other Exported Formats
Examples
dsnadd
Description
Synopsis
Options
Examples
Notes
ODBC and Data Source Names (DSNs)
Zen ODBC Driver Descriptions for Linux, macOS, or Raspbian
Frequently Asked Questions About ODBC and DSN Support for Linux, macOS, or Raspbian
ODBC Header Files
See Also
isql
Description
Synopsis
Options
Commands
Notes
Examples
See Also
licgetauth
Description
Synopsis
Options
See Also
psc
Description
Synopsis
Options
Examples
Return Codes
psregedit
Description
Synopsis
Options
Examples
psregsvr
Description
Synopsis
Options
pvdbpass
Description
Synopsis
Options
Examples
pvddl
Description
Synopsis
Options
See Also
pvnetpass
Description
Synopsis
Options
See Also
Examples
rbldcli
Description
Synopsis
Options
See Also
Using Zen Scripts in Macintosh Finder
Zen Scripts in Finder
Managing Licenses
Managing the Database Engine Service
Basic Troubleshooting
General Troubleshooting
I get Error 1114 when trying to access my data
I get an error about ServerDSN or DBQ was not found in the connection string
I get a message about Engine components' version is different than my client components' version
I can't get to my data on the server engine
ZenCC runs slowly or hangs when retrieving large record sets
Error Messages from ZenCC
Can't retrieve database names. You don't have access rights for the operation
Unable to connect to the specified remote server. Verify that all of the communication components are loaded on the remote server and that there are available sessions and try again
An error was encountered while connecting to the server
Unknown configuration properties
Frequently Asked Questions
Installation
Installation
ZenCC
Security
User Count, Session Count, Data In Use
Networking
Difficulty Accessing Data
ODBC and DDFs
Upgrading from Btrieve 6.15
Upgrading and Migration
Demodata Sample Database
Miscellaneous
Installation
Will I lose my data files if I uninstall my existing version of the product, or install a new version?
Why do I not see in Zen Explorer the plug-in product that I just installed or upgraded?
What type of client installation should I do?
How can I verify the release version and build of my installation?
Is Zen supported on a terminal server?
Can I install Zen in a failover or clustering environment?
Can I install Zen in a load balancing environment?
Can I install Zen on a server running Btrieve v6.x or earlier?
How do I keep my Workgroup engine from starting up automatically when I reboot?
ZenCC
How do I start ZenCC on Linux or macOS?
Security
When do I log in using an operating system user and password, and when do I log in using a database user and password?
Why do I get a "login failed" message when I have a Zen_Admin group defined or I have administrator rights?
User Counts
How do I authorize a User Count Upgrade?
How does a Zen engine using the concurrent user license model keep track of how many people are accessing the data? If people access the data with two engines at the same time, what happens?
Does the Workgroup engine use concurrent or per-seat licensing?
I am thinking of moving from a Zen engine with concurrent user licensing to one with capacity-based licensing. How do I determine the appropriate size for my data use license?
Networking
How do I test for network problems? I see other systems on the network but can't get to my data.
Difficulty Accessing Data
I upgraded from Btrieve v6.x or earlier to the current version of Zen. Now I get error messages telling me that a file is inaccessible when everybody else can get to it. What's wrong?
I have files sitting on the server that are shared and yet Zen cannot read them. What's wrong?
I am using SQL queries to create a definition for an old table. The resulting record size is off. Why?
I want to convert my data file version from 9 back to file format version 8, 7, or 6. How do I do this?
ODBC and DDFs
How can I tell if I can use ODBC to access my data files?
How can a hard-coded file path in a DDF be changed?
What is the best way to ensure that my data dictionaries (DDFs) are safe?
How can I tell whether I have nonstandard DDFs?
Can I mix and match DDFs from different databases?
What happened to DDF Sniffer?
I have two similar Btrieve files, and I created a DDF for the first one. Since they are similar, can I use the same DDF on the second Btrieve file?
I have owner names set on my Btrieve files. After creating a DSN, why can I not open the files using ODBC?
Is there a client side requester for the Relational Engine?
Is ODBC the only method of access for Zen?
Is there a single database file housing all the data, data definitions, stored procedures, security, table relationships, and so on as in some other products?
Does the Relational Engine have scheduler capabilities to run stored procedures or other types of scripts designed to access and affect data?
Upgrading and Migration
When I create a table using an existing Btrieve file, the wizard displays fewer columns than there are in the Btrieve file. What's wrong?
Miscellaneous
I dumped Btrieve records to a file and now I can't read the file. What happened?
Can I run Zen in trace mode?
Does garbage collection occur in the data files and indexes? For example, is space from deleted records recovered or reused?
Is database shadowing available, allowing a complete up-to-date second copy of the database to exist on another drive or machine?
What is the mechanism that allows the database to be backed up online? What happens if the server goes down in the middle of a backup with many open transactions?
About This Document
Basic Troubleshooting