[See all pages on this site.] [Find out more about Trifox Inc.] [Find out how to contact Trifox personnel.] [Complete product documentation, FAQs, online references.] [Pricing is simple.] [Download an evaluation copy of any Trifox product.] [Descriptions of all products, including VORTEX, DesignVision, and Genesis.]

[LOGO]
[Navigation Map]

 

[Search Site]

| 

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 http maching.

How do you connect to different versions of Oracle from DesignVision or VORTEX?
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:
  1. Locate the cdemo.c program in the $ORACLE_HOME/rdbms/demo directory.
  2. Build the cdemo program.
  3. Copy the screen output of all the Oracle libraries.
  4. 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 handle them.
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 (not characters).

We also have a UNICODE version of VORTEX that will interface to Oracle in UTF-8 format.

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 hopping.

NT: vtxapi32.dll and vtx3.dll
UNIX: vtxnetd and VTX0

For the reverse (a UNIX client communicating with Oracle on NT) you need:
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?
tdb0_8.o

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
     net:uid/pwd@@servicename@1958:....
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).


© 1985-2013 Updated 26 Sep 2005.