Virtual DataPort supports Unicode characters in the name of most of its elements: databases, user names, roles, data sources, wrappers, views and their fields, etc.
The maximum length of an identifier is 100 characters.
Virtual DataPort allows you to select one of the following character sets for the entire Server and also, one for each database:
Restricted (default one): you can only use basic characters in the name of elements and the fields of the views. See section Restricted Mode.
Unicode: you can use any character in these names. See section Unicode Mode.
Switching from one charset to another, only changes which characters the users can use when creating/editing views from the Administration Tool or the Design Studio. It does not affect the behavior of the Server.
When the Server or a database is in Restricted mode, the Administration Tools and the Design Studio only allow you to create elements (user names, data sources, views, etc.) whose identifiers follow these rules:
The first character has to be one of these:
z. If you enter uppercase letters, the Administration Tools and the Design Studio automatically convert them to lowercase.
The next characters have to be one of these:
When an element is created in this mode, its identifier is case
insensitive. E.g. the query
SELECT * FROM incidences is equivalent
SELECT * FROM INCIDENCES.
Note that you can always create “manually” elements with any characters you want. That is, when you create a view graphically, the Design Studio will not allow you to create a view called
`customer-sales` (note the dash between “customer” and “sales”) but from the VQL Shell, you can create a view with that name if you surround the identifier with double quotes. For example:
CREATE VIEW "customer-sales" AS SELECT....
When the Server or a database is in Unicode mode, the Administration Tools and the Design Studio that connect to this Server (or database) have the following behavior:
The identifiers of elements (data sources, wrappers, views and their fields, etc.) can contain any character.
When the name contains one or more characters that do not belong to the “Restricted char set” (see the section Restricted Mode), the Administration Tool and the Design Studio automatically surround the name with double quotes in the VQL statement they send to Virtual DataPort.
CREATE VIEW "例" AS... or SELECT * FROM "Categories".
The Administration Tool and the Design Studio automatically add the double quotes whenever is necessary. You only have to add them when creating views manually from the VQL Shell or a JDBC client.
View names starting with
_ are not supported.
When the Server or the database is in Unicode mode, the name of an element is case-sensitive if at least one of these conditions are met:
The name is surrounded by double quotes and at least one character is uppercase.
Or, the name has characters that do not belong to the “Restricted char set”. If all the characters belong to the “Restricted char set”, the name is case insensitive.
If an element is case-sensitive you always have to surround its name with double quotes. For example,
SELECT * FROM "Incident",
ALTER TABLE "Phone_INC",
You cannot create elements of the same type with the same name but
different case. E.g.: you cannot create the views
In the VQL statements generated by the Server, if the name of an element is surrounded by double quotes (“”) it means the name is case-sensitive.
If an element listed in the Server Explorer of the Administration Tool has a name with at least one uppercase character, it was created with double quotes and therefore, it is a case sensitive element. Because of this, the name of this element has to be surrounded with double quotes.
By default, the Unicode support is disabled and can be enabled for the entire Server or just for some of its databases.
To enable this support for the entire Server, click Server configuration on the menu Administration and then, click Identifiers charset (see Identifiers charset dialog).
In this dialog, click Unicode -Case sensitive and click Ok.
The Unicode support can also be enabled only in some databases (see section Creating Databases).