What would be a better solution would be to remove all paths completely, and use the
path component of the Named Database to configure it. This would allow you to share
the same DDF's among multiple databases very easily. Here's a few steps:
1) Make a copy of the DDF's in a different directory.
2) Remove all pathing from those DDF's. (ALTER TABLE IN DICTIONARY works well
3) Create a new database, and specify the DDF directory and data directories to
their different directories.
4) Try it out!
Goldstar Software Inc.
Building on Btrieve(R) for the Future(SM)
*** Pervasive.SQL v2000i/v8 Service & Support Classes ***
2003: DC/IL: See our web site for details!
> Hello again,
> When checking further, the problem I originally reported, still
> The problem is as follows:
> I have 2 databases called CRM and CB.
> CB is a replica of CRM, hence de paths for the System files like
> X$File and others all have the path both for the Table Location and
> the Dictionary Path as 'C:\TEMP\PERVSV\CRM'.
> This is also true for the datafiles, where all Dictionary Paths will
> be 'C:\TEMP\PERVSV\CRM' and some Table Locations will have the full
> path being 'C:\TEMP\PERVSV\CRM\.....'.
> The problem is that the Dictionary Path seems to be a path that cannot
> be changed, causing, that any change to Database CB will take place in
> CRM due to the contents of the Dictionary Path.
> Is there a way to rename the Dictionary Path ?
> On Mon, 07 Apr 2003 10:06:55 +0200, Gordon
> >>The SQL engine wants to have files that are included on one computer only. If
> >>your database in on C:, then everything should be on C. These paths are then
> >>relative to the DDF location, so that you can always use "\temp\" and get it
> >>to work. Of course, even better would be "..\temp\" which starts from the
> >>position of the DDF's.
> >Actually, I learned not to use reverse relative paths. I explained
> >Using relative paths does have its use, but to avoid (locking)
> >problems you should only use forward relative paths.
> >>The older Scalable SQL engine supported full UNC pathnames, but this is not
> >>supported as cleanly in the new SRDE.
> >> Goldstar Software Inc.
> >> Building on Btrieve(R) for the Future(SM)
> >> Bill Bach
> >> http://www.goldstarsoftware.com
> >> *** Pervasive.SQL v2000i/v8 Service & Support Classes ***
> >> 2003: IL/TX/DC: See our web site for details!
> >>> Bill,
> >>> Thank you for your input.
> >>> The "C:" however seems not to be supported, as I get an error messages
> >>> saying:
> >>> ODBC Error: SQLSTATE = S1000, Native error code = -3020
> >>> Invalid USING path/filename. Only simple, relative paths containing 1
> >>> to 64 characters may be used.
> >>> Once I leave out the "C:", it is accepted.
> >>> I wonder how I would be able to address files which are mapped on the
> >>> network.
> >>> Regards
> >>> Alecio
> >>> >ALTER TABLE arCust01 IN DICTIONARY USING 'C:\TEMP\PERVSV\CRM\arCust01.av'
> >>> >You may also wish to seriously reconsider using the fill pathname, as it
> >>> >is only partially supported.
> >>> > Goldstar Software Inc.
> >>> > Building on Btrieve(R) for the Future(SM)
> >>> > Bill Bach
> >>> > http://www.goldstarsoftware.com
> >>> > *** Pervasive.SQL v2000i/v8 Service & Support Classes ***
> >>> > 2003: IL/TX/DC: See our web site for details!
> >>> >> Hello,
> >>> >> I have the following problem.
> >>> >> I created a new Database using the advanced settings, in order to copy
> >>> >> the file definitions and data into the new database.
> >>> >> Now that I want to change the path to where the new files are, I'm not
> >>> >> allowed to, in the X$File by executing the SQL command:
> >>> >> "update X$File set Xf$Loc = 'C:\TEMP\PERVSV\CRM\arCust01.av' where
> >>> >> Xf$Id = 37".
> >>> >> I put a password for the Master user and tried wahtever I thought
> >>> >> could help, but am not able to make this change.
> >>> >> What am I doing wrong ?
> >>> >> Regards,
> >>> >> Alecio
> > Gordon Bos
> > Q-RY Solutions
> > +31-(0)15-2564035
> > http://www.q-ry.nl/