Using VORTEX with Oracle (and Rdb) Databases
We are running OpenVMS Rdb and sometimes get an error message: Error from System
Services Request when doing queries. What is the problem?
The query is attempting to open a Sort file but it cannot find the sys$login and
sys$login_device logicals. VORTEXserver on OpenVMS is implemented as a batch
job and new connections are serviced with a new process using CreateProcess.
The new process does not inherit the Process logicals and so it does not have
these two logical set. The solution is to make them group logicals, e.g.,
define/group sys$login dka0:[prod]
define/group sys$login_device dka0:
Using Oracle on NT, downloading an applet from http server and I want to
connect to a different NT machine running Oracle.
On the http server, start up vtxnetd -p1958. Your applet connect string will
start up vtx3 as the service which then hops to the target NT system
specified in your connect string or in the $VORTEX_HOME\lib\net.ini file on the
How do you connect to different versions of Oracle from DesignVision or
When you specify VTX0 as the service, VORTEXserver looks for VTX0.exe which
then looks for VTX0.dll. To use Oracle v8, make sure that
you copy vtx0_8.dll to vtx0.dll and that it is accessible.
Why do you have so many Oracle DLLs?
Which one should I use?
It depends upon your version of Oracle. Oracle has changed the
ordinals in every verion of Oracle since version 7.1 That's why we have
4 versions of vtx0.dll (vtx0_71, vtx0_72, vtx0_73 and vtx0_8.dll). Simply
copy the correct VTX0_x.dll to VTX0.dll.
I cannot get the VORTEXserver proxy for Oracle linked. None of the entries in
the makesrv.ora file work.
Linking Oracle v7 is always mystery. If none of the entries in the makefile
works do the following:
- Locate the cdemo.c program in the $ORACLE_HOME/rdbms/demo directory.
- Build the cdemo program.
- Copy the screen output of all the Oracle libraries.
- Paste it into the makefile.
I'm looking at internationalizing our application that uses VORTEX with
Oracle 8. Since we need to support multibyte character sets (JA16SJIS), I'm
wondering if VORTEX NCHAR and NVARCHAR2 would be supported and how I might
You need the UNICODE compiled version of VORTEX. After that, we just
use the lengths that are passed from the database which should be correct.
For MBCS VORTEX will run fine. Just remember that all lengths are in bytes
We also have a UNICODE version of VORTEX that will interface to Oracle in
Is it possible to use Vortex on NT to communicate with Oracle on a Unix
box or vice versa?
Certainly! Any VORTEXclient system can communicate with any
VORTEXserver system. You can even do unlimited network or firewall
NT: vtxapi32.dll and vtx3.dll
UNIX: vtxnetd and VTX0
For the reverse (a UNIX client communicating with Oracle on NT)
UNIX: tdb.a, tcm.a, and tb2.a.
(all linked into your executable)
NT: vtxnetd.exe and vtx0.dll and vtx0.exe
(the correct one for the Oracle version).
Can VORTEX be linked with the 6.0 OCI?
Yes, use tdb0_6.o instead of tdb0.o.
Which tdb object file do we link with for Oracle 8?
Can I use SQL*NET without having VTX0 (avoiding the
linking with OCI libs?)
You could but it will run much slower. A customer of ours overseas
ran a series of benchmarks comparing SQL*NET and VORTEXnet and found
that SQL*NET generated 3 times the packets.
Does VORTEX support the Sun/Oracle Parallel DataBase schema?
VORTEX uses Oracle's OCI and so there should be no problem
running on PDB.
Is it possible to use SQL*NET to connect to Oracle on a remote machine
when running VORTEX on NT?
If you are using VORTEXnet on the NT box, then you need
If you are using Oracle directly,
oracle:uid/pwd@<oracle dbms name>
When using Oracle, does the VTXCOMM command issue a COMMIT WORK or a
COMMIT WORK RELEASE?
It calls the OCI function ocom() which does a commit.
Why does Vortex return a number when the Oracle table column is
declared to be float(9)? When we retrieve the columns and datatypes
for the table the datatype returned is number with a precision of 2
and a scale of 6.
float(b) specifies a floating point number with binary precision b.
To convert the binary precision to decimal precision, multiply b by
0.30103. In this case, you get 2.7 which gets truncated to 2. Why
did you use float(9)? Did you really want number(9)?
VORTEX is returning a number as number(8,2). Why is it being converted?
The Oracle documentation states "If precision is not specified, the
column stores values as given."
In Oracle6, the OCI did not return the actual precision and scale and
so we always returned (8,2). Oracle7 OCI does return the actual
prec/scale in most cases. There is one case, a column defined as
number without any prec/scale, that returns (0,0). We need to return
something for our other tools so we stuck with the old default (8,2).
Updated 26 Sep 2005.