How do I change a path in the Xf$Loc of the X$File

How do I change a path in the Xf$Loc of the X$File

Post by Alecio Madu » Mon, 07 Apr 2003 06:18:58



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

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Bill Bac » Mon, 07 Apr 2003 07:59:24


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


 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Alecio Madu » Mon, 07 Apr 2003 11:05:51


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

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Bill Bac » Tue, 08 Apr 2003 00:55:14


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.

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

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Gordo » Tue, 08 Apr 2003 17:06:55




Quote:>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/

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Alecio Madu » Wed, 09 Apr 2003 07:32:32


Hello again,

When checking further, the problem I originally reported, still
exists.
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 ?
Regards,

Alecio

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/

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Jess Del » Wed, 09 Apr 2003 12:41:18


Pervasive's documentation for PSQL v8 states that you can use PCC to edit
the table location (e.g., right mouse click on a table in PCC and select
popup menu to view the table properties and edit the location, or use Table
Designer's Statistics Tab and edit the table location). It may work best if
the table location is relative to the data file path(s) (which often is the
DDF path). There is also a SQL statement for ALTER TABLE with an option for
modifying the location that you can try (see documentation in SQL
Reference).

You can view/change the DDF path and data file paths by using PCC and right
mouse clicking on the Configuration in the tree view and select the
"Maintain Named Databases" menu item.

Hope this is of some help.

Cathy


> Hello again,

> When checking further, the problem I originally reported, still
> exists.
> 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 ?
> Regards,

> Alecio

> 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'

- Show quoted text -

> >>> >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/

 
 
 

How do I change a path in the Xf$Loc of the X$File

Post by Bill Bac » Wed, 09 Apr 2003 22:05:19


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
here.)
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)
 Bill Bach

 http://www.goldstarsoftware.com
 *** 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
> exists.
> 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 ?
> Regards,

> Alecio

> 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/