How to change a BTRieve field name in a table...

Pervasive SQL 8.6 (using standard DDF files)
Protech Vision AMS


I am trying to link tables from this AMS database into an Access database. Mostly for the purpose of enhanced reporting and data view capability.

However, some of the tables have field names with periods, # signs or other characters in them. When trying to link the tables in MS Access, I get the message that:

" 'Reason for Term. ' Is not a valid name. Make sure that it does not include invalid characters or punctuation or is too long".

I'm guessing there's no magic fix for this in Access, so my question is.... exactly how can I change the field names in question, what would the SQL syntax look like for this and are there any other issues like rebuilding the DDF files or indexes I'd need to do?
Who is Participating?
mirtheilConnect With a Mentor Commented:
As long as you don't rebuild the data files while your using V9, you'll be able to revert to V8.  I would suggest using the "IN DICTIONARY" clause as well when using V9 just to be sure that the ALTER TABLE only affects the DDF.  

V9 does support 6.x files.  You can even read (but not write to) v5.x files with V9.  

If you application doesn't support V9, I would suggest using a separate system to run the ALTER TABLE command.
Fields with "invalid" characters can be used by enclosing the field name in double quotes.  
Have you tried using Crystal Reports rather than Access for your reporting?  
I would also suggest contacting the vendor to get "ODBC Compliant" DDFs.  
I don't know if V8 has the functionality but PSQL V9 offers a RENAME function in the ALTER TABLE:
ALTER TABLE table RENAME COLUMN column-name TO new-column-name

seriochka1Author Commented:
We use crystal reports for a lot of our reporting functionality, but it's difficult sometimes to see exactly what data & criteria are being used in some of these reports. Our firm has been completely dependant for years on our vendor for every single upgrade we do and adding functionality (or even doing basic mass updates to field data) is not possible in-house. Although I'd probably use a true SQL-based tool instead of access, I want to enable the ODBC functionality so we can do more of this ourselves.

Question: Version 8 does have an ALTER TABLE command, but I didn't see a specific reference for the RENAME command. If I upgrade to Ver. 9, do you know if it has the "6.X" backward file definition compatibility? Or if taking my DDF's and running the command on a separate system against them, then bringing them back into version 8 will work?


Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

seriochka1Author Commented:
Also just to there any way in MS Access to get around this problem and link the tables?

I just tried and since you're trying to link, it does not work.  You might be able to use a "SQL Passthrough" query but you won't be able to Link.  THis is a limitation of Access not of PSQL.  
Try turning the query into a stored procedure, using the AS clause for each column in the Select to rename the nonstandard columns, then using Access to call the stored procedure.

Wayne Freeman
Analytica Business Systems 
Bill BachConnect With a Mentor PresidentCommented:
There are companies, such as my own, that specialize in Pervasive database work.  Changing the DDF's to remove the special characters can be done quickly and easily with the right tools.  Our older FSAVE and FLOAD tools may be able to do this for you, but they use special commands that were discontinued after PSQL7, so using them on PSQLV8 is not possible.  However, if the DDF's are in an older 6.x or 7.x format, then it should be possible -- if you have access to a PSQL7 engine.

If not, it shouldn't take too much effort to process DDF's to remove special characters -- probably not much more than an hour of development time to build the right tool.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.