Supported Adaptive Server datatypes – PB Docs 126

Supported Adaptive Server datatypes

The Adaptive Server interface supports the SAP datatypes listed
in Table 7-1 in DataWindow objects and
embedded SQL.

Table 7-1: Supported datatypes for Adaptive
Server Enterprise



BigInt (15.x
and later)




Char (see “Column-length limits”)






Double precision







UniText (15.x and later)








In Adaptive Server 15.0 and later, PowerBuilder supports unsigned
as well as signed bigint, int,
and smallint datatypes. You can also use the
following datatypes as identity columns in Adaptive Server 15.0
and later: bigint, int, numeric, smallint, tinyint, unsigned
, unsigned int, and unsigned

Accessing Unicode data

PowerBuilder can connect, save, and retrieve data in both ANSI/DBCS
and Unicode databases. When character data or command text is sent
to the database, PowerBuilder sends a DBCS string if the UTF8 database
parameter is set to 0 (the default). If UTF8 is set to 1, PowerBuilder sends
a UTF-8 string. The
database server must be configured correctly to accept UTF-8 strings.
See the description of the UTF8 database parameter in the online
Help for more information.

The character set used by an Adaptive Server database server
applies to all databases on that server. The nchar and nvarchar datatypes
can store UTF-8 data if the server character set is UTF-8. The Unicode
datatypes unichar and univarchar were
introduced in Adaptive Server 12.5 to support Unicode data. Columns
with these datatypes can store only Unicode
data. Any data saved into such a column must be converted to Unicode
explicitly. This conversion must be handled by the database server
or client.

In Adaptive Server 12.5.1 and later, additional support for
Unicode data has been added. For more information, see the documentation
for your version of Adaptive Server.

Different display values
in painters

The unichar and univarchar datatypes
support UTF-16 encoding, therefore each unichar or univarchar character
requires two bytes of storage. The following example creates a table
with one unichar column holding 10 Unicode characters:

In the Database painter, the column displays as unichar(20)because
the column requires 20 bytes of storage. This is consistent with
the way the column displays in Sybase Central™.

However, the mapping between the Type in the Column Specifications
view in the DataWindow painter and the column datatype of a table in the
database is not one-to-one. The Type in the Column Specifications
view shows the DataWindow® column datatype and DataWindow
column length. The column length is the number of characters, therefore
an Adaptive Server unichar(20)column displays
as char(10) in the Column
Specifications view.

Column-length limits

Adaptive Server 12.5 and earlier have a column-length limit
of 255 bytes. Adaptive Server 12.5.x and later support wider columns
for Char, VarChar, Binary,
and VarBinary datatypes, depending on the logical
page size and the locking scheme used by the server.

In PowerBuilder, you can use these wider columns for Char and VarChar datatypes
with Adaptive Server 12.5.x when the following conditions apply:

  • The Release database parameter is set to 12.5 or

  • You are accessing the database using Open Client
    12.5.x or later.

The database must be configured to use a larger page size
to take full advantage of the widest limits.

For detailed information about wide columns and configuration
issues, see the Adaptive Server documentation on the Product Documentation Web site
. For more information
about the Release database parameter, see the online Help.

When you retrieve or update columns, PowerBuilder converts
data appropriately between the Adaptive Server datatype and the
PowerScript datatype. Similarly or identically named Adaptive Server
and PowerScript datatypes do not necessarily
have the same definitions. For information about the definitions
of PowerScript datatypes, see the PowerScript Reference.

Conversion in PowerBuilder scripts

A double that has no fractional component is converted to
a string with one decimal place if the converted string would cause
Adaptive Server to have an overflow error when parsing the string.
For example: the double value 12345678901234 would cause an overflow
error, so PowerBuilder converts the double to the string value 12345678901234.0.

Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x