Frequently Asked Questions

Q: Each client accessing the common Oterro engine will require a copy of RBTI's ODBC driver. How is this to be installed and set up?
A: When installing an Oterro application onto a client's computer, you will need to use the Oterro ODBC installer. If you have purchased a distributable version of the Oterro engine, you will find an installer that does not include samples or documentation in your installation directory that can be used on the clients machine.

Q: I understand constraints and rules can be setup using R:BASE. Can I insert rules and constraints, when using another program to link to my database via ODBC, and view the schema that way?
A: R:BASE is a better way of managing your constraints and rules, as well as working with other aspects of the Oterro database. RBDefine provides a GUI interface for working with your database. As for doing this through Access, Visual Basic or any other program, there are SQL commands for doing everything except rules.

Q: Does Oterro store stored procedures and triggers within its schema? How are these written and installed?
A: Oterro stores triggers and stored procedures in the database itself. The stored procedures originate in ASCII files and are inserted using the PUT command. Once a Stored Procedure has been added to the Database, it can be made to function as a Trigger by using the ALTER TABLE command, where you can identify Stored Procedure to be associated with the table to be launched at an UPDATE, INSERT or DELETE.

Q: What is a trigger?
A: A trigger is an action placed on a table to automatically execute upon insert, delete, or update of a row of data in the table. A trigger executes a stored procedure. The stored procedure contains the commands to execute upon the trigger action.

Q: Does Oterro support timestamps? SQL Server does support timestamps, ORACLE does not and I presume Oterro does not in the manner in which they're used in SQL Server. These allow Access (JET) to determine if a record was changed since it was last retrieved by checking only its unique index value and timestamp. Otherwise, without timestamp, all of the fields must be checked. As I said, this is an optional the discretion of the designer and not a mandatory requirement. Just wanted to try and clarify. See MS Knowledge Base Q128808.
A: Correct. Oterro does not implement them in the same fashion as SQL Server. However, Oterro provides support for them for when you are using optimistic concurrency and SQL SpecialColumns. Oterro also provides the SYS_ROWVER column that contains the version of the row. This computed column is added to a table when the table is ALTERed and the AUTOROWVER setting is ON.

Q: Does Oterro support database replication?
A: Oterro does not have a built-in function for database replication, although you can certainly do this through your Visual Basic code. Oterro is a robust, multi-user database engine with optimistic concurrency control and intelligent, automatic, and dynamic locking. With Oterro, you do not need to use database replication as a work around for poor multi-user performance.

Q: How long can my column and table names be in an Oterro database?
A: Table, view, and column names are limited to 128 characters at this time.

Q: Does Oterro support the use of names with embedded spaces?
A: Yes. Oterro supports the use of table and column names with embedded spaces as long as the name is enclosed with the identifier quote character whenever the name is used. The default identifier quote character is a backwards single quote (`). We recommend, however, that you replace the spaces in names with underscores "_" for ease of use.

Q: In converting my database to the Oterro format, I get a message about "illegal column name". Apparently one of my columns is a reserved word. Is there any way I can get around this limitation?
A: Yes. The Oterro documentation includes a complete list of reserved words. You can minimize the list by adding the keyword ANSI OFF to your configuration file. This is not recommended, but can be used as a way to safely rename the column or table.

Q: I get an error when I end any SQL statement with a semi colon (;). Why?
A: The semi colon is only used to end a multi-line SQL command. The Oterro engine does not support multi-line commands.

Q: If I already have an application written for the Jet engine, what would I need to do to replace the Jet databases with an Oterro database? What about the bound controls?
A: All you should need to do if you are accessing a database through an ODBC connection is to replace the database name in the connect string. When using DAO or RDO controls, you would replace the database name with an ODBC connection to the Oterro database. So long as the table and field names remain the same, you should not need to change any of the properties of the bound controls. There may be other code changes if you are using DAO functions that are specific to an Access/Jet database.

Q: Our work is done in Visual C++. Can we access the full capabilities of Oterro from Visual C++?
A: Oterro can be accessed by any ODBC 2.5 or higher front end development tool. All the functionality is available regardless of the front end tool. Oterro does ship with an H file for use with C++.

Q: I've already got an Application built in R:BASE. Can I use this with Oterro?
A: Yes and No. Oterro can be used in a Multi-User situation where users are connecting with R:BASE at the same time as users connect with Oterro. This does not mean that you can use the application developed in R:BASE without conversion. You will need to redevelop the user interface and much of the application flow (menus and the like) in your new environment.

Q: I'm wondering what tools I can use to develop an Oterro Application. What would you recommend?
A: Because of the wide variety of situations and needs, we simply can't make one recommendation. Oterro allows you to use the tools you want to use to develop your application. In general, you should use the tools that you feel most comfortable with and that are appropriate for your needs. Our clients have reported sucess using the following tools:
  • Active Data Objects (ADO) 2.x and Remote Data Objects
  • Active Server Pages
  • Macromedia Cold Fusion
  • Pervasive's Tango Enterprise
  • Microsoft Visual Basic
  • Microsoft Visual C++
  • Borland C++ Builder
  • Borland Delphi
  • Other environments using the Borland Database Engine
  • Microsoft Office (including Access, Excel and Word)
  • R:BASE for Windows
  • Java
  • PHP
  • Crystal Reports
  • IBM WebSphere
  • TeraScript, Witango
  • MS Office Visio 2003
  • UPS WorldShip
Q: Why would you list R:BASE for Windows as a development environment for Oterro? Don't they do the same thing?
A: Yes. Both environments allow you to access the same data, but R:BASE provides a complete integrated solution. Oterro can only add to the power of R:BASE itself and allows you to expand the native interface. For example, using Oterro you can create databases for use in R:BASE that dynamically restructure themselves, by adding and removing entire sets of tables or you can create databases that exceed the storage capacities of your hardware. Another exciting feature is that with the addition of the SCONNECT READ command in R:BASE you can even use R:BASE to connect to an Oterro database on read only media such as a CD-ROM, allowing you to create offline archives, or network shares that do not provide Write access.

Q: Is there more detail regarding mixing and matching Oterro and R:BASE?
A: Yes. Both products share a common database engine and can be mixed in a multi-user environment. This allows you the flexibility you need to provide the right solution to every user. The following products can be mixed in a multiuser seting:
  • R:BASE for Windows
  • R:Compiler
  • Runtime for Windows
  • Oterro Numbered
  • Oterro Unlimited
Q: Will this Numbered Licensing interfere with my ability to mix and match R:BASE and Oterro?
A: It will not interfere with Oterro Unlimited or any other Product's ability to connect to a database. However, it is possible for those other products to interfere with the Oterro Numbered's ability to connect to a database. Oterro Numbered will only connect to a database if the connected user count is lower than its license count. For example, if you purchase the Oterro Five User License you will only be able to connect if there are less than five users connected. This means that if you have 2 R:BASE users, 1 Oterro for Tango User and 2 Runtime users connected you would not be able to connect using the Oterro Five User pack as all five connections have been taken.