|
Home > Archive > Programming with dBASE > December 2005 > Unnown table type reported
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Unnown table type reported
|
|
|
| I have a Plus 2.21 app that gives me a strange message when running on some workstations. It refers to an “unknown table type when trying to open a file named c:\pdoxusrs.net.” I have no such file in the app and do not try to directly load such a file.
The message reports the code line number in the app that runs
form.datamodref2.ref.tmplist.database.begintrans().
Pdoxusrs apparently refers to paradox, but does anyone have an idea of what the pdoxusrs.net file is and/or why dbplus is referring to it? I am not using paradox tables, only local dbase tables.
Thanks in advance for any ideas on this,
Rick
| |
| Ken Mayer [dBVIPS] 2005-12-05, 8:24 pm |
| Rick wrote:
> I have a Plus 2.21 app that gives me a strange message when running on some workstations. It refers to an “unknown table type when trying to open a file named c:\pdoxusrs.net.” I have no such file in the app and do not try to directly load such a file
| |
|
| Hi Ken,
Since the error is kicked out on a database.begintrans() line, I thoroughly checked that the user has all privileges to the folder and the files in the folder for that database. I also tried setting up a different folder and still get same error.
Any other ideas appreciated.
BTW, got the book and it is great. Especially great how thorough you were. Must have been some long days and nights getting all that detail together.
Thanks,
Rick
Ken Mayer [dBVIPS] Wrote:
> Rick wrote:
le.[color=darkred]
>
> It's part of the locking mechanism for the BDE, I think. Make sure the
> user had rights to that file, and all that.
>
> Ken
>
> --
> /(Opinions expressed are purely my own, not those of dataBased
> Intelligence, Inc.)/
>
> *Ken Mayer* [dBVIPS]
> /Golden Stag Productions/
> dBASE at goldenstag dot net
> http://www.goldenstag.net/dbase/dBASEBook.htm
> http://www.goldenstag.net/GSP
> http://www.goldenstag.net/dbase
| |
| Ken Mayer [dBVIPS] 2005-12-06, 8:24 pm |
| Rick wrote:
> Hi Ken,
>
> Since the error is kicked out on a database.begintrans() line, I
> thoroughly checked that the user has all privileges to the folder and
> the files in the folder for that database. I also tried setting up a
> different folder and still get same error.
>
> Any other ideas appreciated.
The file in question is not stored in the database folder, it's stored
in the folder that the runtime is in, or the folder your executable is
in, I am not sure at this point. Check to see ...
>
> BTW, got the book and it is great. Especially great how thorough you
> were. Must have been some long days and nights getting all that
> detail together.
Thanks. It was tough, but in the long-run worth it. It's kind of fun to
see the copies on my shelf ... of course I have to force myself to
remember I intend to do some more, and try to find time to do so (other
things keep getting in the way, like earning a living ... <g> ).
Ken
--
/(Opinions expressed are purely my own, not those of dataBased
Intelligence, Inc.)/
*Ken Mayer* [dBVIPS]
/Golden Stag Productions/
dBASE at goldenstag dot net
http://www.goldenstag.net/dbase/dBASEBook.htm
http://www.goldenstag.net/GSP
http://www.goldenstag.net/dbase
| |
| Bruce Beacham 2005-12-06, 8:24 pm |
| Rick wrote:
> Since the error is kicked out on a database.begintrans() line, I
> thoroughly checked that the user has all privileges to the folder and
> the files in the folder for that database. I also tried setting up a
> different folder and still get same error.
Just a thought: on the affected machines, what is the Default Driver
in BDE Administrator | Configuration | Init ? You'll want it to be
dBASE, I guess.
Bruce Beacham
| |
| *Lysander* 2005-12-07, 7:23 am |
| In article <YCuCmYq#FHA.1020@news-server>, Sportman7@netzero.com says...
> Since the error is kicked out on a database.begintrans() line, I=20
thoroughly checked that the user has all privileges to the folder and=20
the files in the folder for that database. I also tried setting up a=20
different folder and still get same error. =20
>=20
> Any other ideas appreciated. =20
A lot of things are controlled by the BDE using paradox-files, or=20
paradox-related-files. Look for example at your config.db.
As Ken pointed out, also locking-mechanisms and transaction-control=20
could be affected.
If nothing else helps you, try to specify the "net"-directory for your=20
local BDE. (BDE-Admin/Config/Drivers/Native/Paradox/net dir). The=20
standard is "c:\" where usually a normal user does not have sufficient=20
rights for writing files. (At least this should be so...).
Set this "net-dir" to any folder where the user has sufficient rights,=20
and see if this helps.
--=20
ciao,
Andr=E9
| |
|
| Bruce,
Thanks. Yes this default is dbase, and so is the defaut driver for each of the databases. Believe I need to look at access to the runtime folders.
Rick
Bruce Beacham Wrote:
> Rick wrote:
>
> Just a thought: on the affected machines, what is the Default Driver
> in BDE Administrator | Configuration | Init ? You'll want it to be
> dBASE, I guess.
>
>
> Bruce Beacham
| |
|
| André,
Yes, this sounds like the problem. I see where the file pdoxusrs.net is in the C:\ folder on my development machines. Very likely that the user does not have ability to access that folder.
I see bdeadmin.exe under configuraton\drivers
\native\paradox has a property called NET DIR. Is this where I would change the path? Seems strange to have to adjust the settings on the paradox driver when you are not using it, but as you said dbase uses
paradox fles.
One more queston, if this is the property that must be changed, do you know if there is an .ini file or other file I can adjust this path, or am I stuck having to walk the user thru the bdeadmin.exe program to make this change on each workstation?
Many thanks for help in tracking this down,
Rick
*Lysander* Wrote:
> In article <YCuCmYq#FHA.1020@news-server>, Sportman7@netzero.com says...
>
> thoroughly checked that the user has all privileges to the folder and
> the files in the folder for that database. I also tried setting up a
> different folder and still get same error.
>
> A lot of things are controlled by the BDE using paradox-files, or
> paradox-related-files. Look for example at your config.db.
>
> As Ken pointed out, also locking-mechanisms and transaction-control
> could be affected.
>
> If nothing else helps you, try to specify the "net"-directory for your
> local BDE. (BDE-Admin/Config/Drivers/Native/Paradox/net dir). The
> standard is "c:\" where usually a normal user does not have sufficient
> rights for writing files. (At least this should be so...).
> Set this "net-dir" to any folder where the user has sufficient rights,
> and see if this helps.
>
>
>
> --
> ciao,
> André
| |
|
| Ken,
I think I see where the problem is from Andre's post on the net dir for the bdeadmin.
Thanks again,
Rick
Ken Mayer [dBVIPS] Wrote:
> Rick wrote:
>
> The file in question is not stored in the database folder, it's stored
> in the folder that the runtime is in, or the folder your executable is
> in, I am not sure at this point. Check to see ...
>
>
> Thanks. It was tough, but in the long-run worth it. It's kind of fun to
> see the copies on my shelf ... of course I have to force myself to
> remember I intend to do some more, and try to find time to do so (other
> things keep getting in the way, like earning a living ... <g> ).
>
> Ken
>
> --
> /(Opinions expressed are purely my own, not those of dataBased
> Intelligence, Inc.)/
>
> *Ken Mayer* [dBVIPS]
> /Golden Stag Productions/
> dBASE at goldenstag dot net
> http://www.goldenstag.net/dbase/dBASEBook.htm
> http://www.goldenstag.net/GSP
> http://www.goldenstag.net/dbase
| |
| *Lysander* 2005-12-07, 11:23 am |
| In article <dQC1b60#FHA.2332@news-server>, Sportman7@netzero.net says...
> One more queston, if this is the property that must be changed, do you=20
know if there is an .ini file or other file I can adjust this path, or=20
am I stuck having to walk the user thru the bdeadmin.exe program to make=20
this change on each workstation?
You can try to use the BDE-Utility from the DUFLP.
Maybe there is such a setting.
But I am not an expert on this.
Definitely there is a registry-key for this.=20
I do not have such problems, because I am developing for in-house=20
applications mostly, and I am also the one who is pre-installing all=20
machines (including proper BDE-settings)...
I think that Delphi has a component for this.=20
If you do not find any other solution, I could try to tinker a small=20
*.exe for you which could be auto-run by your installation setup.
But the user would have to have admin-rights in any case.
--=20
ciao,
Andr=E9
| |
|
| André
Thanks for the offer. Will look at the utility in the duflp and if I can follow the code I may be able to add this setting. Can't test anything on the client for a couple days cause they are gone, but will let you know here how it all turns out.
Thanks again,
Rick
*Lysander* Wrote:
> In article <dQC1b60#FHA.2332@news-server>, Sportman7@netzero.net says...
>
> know if there is an .ini file or other file I can adjust this path, or
> am I stuck having to walk the user thru the bdeadmin.exe program to make
> this change on each workstation?
>
> You can try to use the BDE-Utility from the DUFLP.
> Maybe there is such a setting.
> But I am not an expert on this.
>
> Definitely there is a registry-key for this.
>
> I do not have such problems, because I am developing for in-house
> applications mostly, and I am also the one who is pre-installing all
> machines (including proper BDE-settings)...
>
> I think that Delphi has a component for this.
> If you do not find any other solution, I could try to tinker a small
> *.exe for you which could be auto-run by your installation setup.
>
> But the user would have to have admin-rights in any case.
>
>
>
> --
> ciao,
> André
| |
|
| André
I had the user set the property NET DIR for paradox using bdeadmin.exe to a folder other than C:\ and this solved the problem. Now I need to create a program that can be run at each workstation.
With bdeadmin.exe I can see a property in Configuration\DRIVER
S\NATIVE\PARADOX called NET DIR and it is set to C:\. When I try to access this property with a program fashioned after the BDEregistrySettings.wfm in the duflp, it tells me it cannot read th
is property in the registry.
In fact, when I use regedit to locate this property in the registry it does not appear to be there. That is, this property should appear in the section of the registry Settings\DRIVERS\PAR
ADOX\TABLE CREATE but does not. I tried searching for it with reg
edit search and also did not find it.
I noticed that BDEregistrySettings.wfm in duflp also does not give access to this property NET DIR for paradox. This seems to also suggest it may not be in the windows registry and maybe is stored somewhere else specific to the bde.
So bdeadmin.exe has a value for this and it can be changed with bdeadmin.exe but it may not store this value in the registry. I am not very familiar with regedit so maybe I missed something tho. If you are more familiar with regedit maybe you could take
a look and see if this property exists there and let me know if I just missed it somehow. If it does not exist there, any ideas on where this might be stored and how it might be accessed so it can be changed programmatically.
Thanks again for all your help on this,
Rick
*Lysander* Wrote:
> In article <dQC1b60#FHA.2332@news-server>, Sportman7@netzero.net says...
>
> know if there is an .ini file or other file I can adjust this path, or
> am I stuck having to walk the user thru the bdeadmin.exe program to make
> this change on each workstation?
>
> You can try to use the BDE-Utility from the DUFLP.
> Maybe there is such a setting.
> But I am not an expert on this.
>
> Definitely there is a registry-key for this.
>
> I do not have such problems, because I am developing for in-house
> applications mostly, and I am also the one who is pre-installing all
> machines (including proper BDE-settings)...
>
> I think that Delphi has a component for this.
> If you do not find any other solution, I could try to tinker a small
> *.exe for you which could be auto-run by your installation setup.
>
> But the user would have to have admin-rights in any case.
>
>
>
> --
> ciao,
> André
| |
| Ivar B. Jessen 2005-12-09, 1:23 pm |
| X-Newsreader: Forte Free Agent 2.0/32.652
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Newsgroups: dbase.programming
Lines: 30
Path: news-server
Xref: news-server dbase.programming:9150
NNTP-Posting-Host: port1098.uc2-oers.ppp.cybercity.dk 217.157.115.213
On Fri, 09 Dec 2005 13:39:44 -0500, Rick <Sportman7@netzero.com> wrote:
>So bdeadmin.exe has a value for this and it can be changed with bdeadmin.exe but it may not store this value in the registry. I am not very familiar with regedit so maybe I missed something tho. If you are more familiar with regedit maybe you could tak
e a look and see if this property exists there and let me know if I just missed it somehow. If it does not exist there, any ideas on where this might be stored and how it might be accessed so it can be changed programmatically.
Open the BDE Administrator, open the native Paradox driver, click on the right
hand panel, press F1 to get help on Paradox driver settings and read this:
"NET DIR
The directory location of the Paradox network control file PDOXUSRS.NET. The
active NET DIR parameter is stored in the Paradox section of the BDE
configuration file and has precedence over any other NET DIR parameters that may
be stored in older 16-bit configuration files, or in the System Init section of
the current configuration file, or in the Registry. These other NET DIR entries
will have no effect."
Ivar B. Jessen
| |
| *Lysander* 2005-12-10, 7:23 am |
| MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-15"
Content-Transfer-Encoding: quoted-printable
X-Newsreader: MicroPlanet Gravity v2.60
Newsgroups: dbase.programming
Lines: 15
Path: news-server
Xref: news-server dbase.programming:9154
NNTP-Posting-Host: p50922E02.dip0.t-ipconnect.de 80.146.46.2
In article <DHUns$O$FHA.2332@news-server>, Sportman7@netzero.com says...
> If it does not exist there, any ideas on where this might be stored=20
and how it might be accessed so it can be changed programmatically.
Glad that I could help you so far.
As I told, I am not concerned by this problem, because I am setting the=20
BDE-settings for all our machines myself, once they are set-up.
But I will try to see which help is given for that case by Delphi.
I will answer back here, but this could be in the middle of the next=20
week.
regards,
Andr=E9
| |
|
| Ivar,
Thanks, I should have checked that.
So it sounds like this path is stored in the .cfg file not available to change in the registry. In looking at the code in the duflp for setting parameters for the bde, it was meant only to update parameters that are stored in the registry. Do you know o
f any way to directly update info in the .cfg file programatically?
Thanks for any ideas on this,
Rick
Ivar B. Jessen Wrote:
> On Fri, 09 Dec 2005 13:39:44 -0500, Rick <Sportman7@netzero.com> wrote:
>
>
ake a look and see if this property exists there and let me know if I just missed it somehow. If it does not exist there, any ideas on where this might be stored and how it might be accessed so it can be changed programmatically.[color=darkred]
>
> Open the BDE Administrator, open the native Paradox driver, click on the right
> hand panel, press F1 to get help on Paradox driver settings and read this:
>
> "NET DIR
>
> The directory location of the Paradox network control file PDOXUSRS.NET. The
> active NET DIR parameter is stored in the Paradox section of the BDE
> configuration file and has precedence over any other NET DIR parameters that may
> be stored in older 16-bit configuration files, or in the System Init section of
> the current configuration file, or in the Registry. These other NET DIR entries
> will have no effect."
>
>
> Ivar B. Jessen
| |
| Ivar B. Jessen 2005-12-11, 7:23 am |
| On Sat, 10 Dec 2005 14:28:27 -0500, Rick <Sportman7@netzero.com> wrote:
>Ivar,
>
>Thanks, I should have checked that.
>
>So it sounds like this path is stored in the .cfg file not available to change in the registry. In looking at the code in the duflp for setting parameters for the bde, it was meant only to update parameters that are stored in the registry. Do you know
of any way to directly update info in the .cfg file programatically?
>
>Thanks for any ideas on this,
Take a look at the thread in the old news groups starting with this message:
**********
From: "Don Skupsky" <dskupsky@irch.com>
Newsgroups: dbase.native-tables
Subject: Programming BDE Config for Paradox
Date: Thu, 11 Sep 2003 12:52:39 -0600
Message-ID: <bjqg7t$2mv$1@news.dbase.com>
**********
The following two messages may be useful:
**********
> However, the Paradox "net dir" location can only be changed in the BDE
> config file. Do anyone know the code to change "net dir" from a dBase
> application?
http://community.borland.com/articl...0,23231,00.html
You'll have to translate to dBL from the example code.
--
Bowen Moursund [dBASE Inc.]
dBASE Newsgroups info & guidelines at:
http://www.dBASE.com/Docs/NewsGrps.htm
**********
**********
From: "Marc VdB" <VdBSoft@web.de>
Newsgroups: dbase.native-tables
Subject: Re: Programming BDE Config for Paradox
Date: Tue, 30 Sep 2003 12:02:27 +0200
Message-ID: <blbkbg$9j7$1@news.dbase.com>
"Don Skupsky" <dskupsky@irch.com> schrieb
> Hi all:
>
> I'm still stumped. Even with the suggestions, I can't figure out how to
> program the BDE for Paradox net dir. Actually, I can't even get started.
Hi Don,
See the function below, you can use it as a starting point. (if you don't
have the api_structs.cc, you must get it from codelib and put it in the
:DUFLP: source alias folder.)
HTH, Marc Van den Berghen
// bof pdxnetdir.prg
//
====================
====================
====================
================
/*
Set NET DIR : Version 1.0
File : pdxnetdir.prg
Author : Marc Van den Berghen
Date : 30-09-03
Purpose : Designed to change the NET DIR for Paradox tables in a network
Depends on : api_structs.cc
Usage : set procedure to pdxnetdir.prg
iresult=setnetdir("c:\paradox\network")
where the parameter is the path you want to set
//
====================
====================
====================
================
*/
function setnetdir(cdir)
#define sesNETFILE 0x00020002 //rw pCHAR , Full path of netfile
set procedure to :DUFLP:api_structs.cc additive
local hndbde,iresut
extern cshort DbiGetCurrSession(cp
tr) idapi32
extern cshort DbiSetProp(chandle,c
long,cstring) idapi32
hndbde=new handlepointer()
iresult=dbigetcurrse
ssion(hndbde) // iresult #0 on error
if iresult#0
return iresult
endif
iresult=dbisetprop(h
ndbde.hnd() ,sesNETFILE , cdir) // #0 on error
hndbde.release()
return iresult
** Be aware, that the change is not permanent, after a restart of the BDE
** the Net DIR takes its values from the cfg.
// eof
**********
Hope it helps
Ivar B. Jessen
| |
|
| Ivar,
Many thanks for getting me on the right track. Do not think I follow the borland code, but the dbase code can at least change the value for the current session.
Hoping someone out there with more experience than me could take a look at the sample Borland code at
http://community.borland.com/articl...0,23231,00.html
and advise me on how to incorporate the permanent change to the BDE cfg file using dbase code. Otherwise I'm stuck with slowing down the opening of the app to set this parameter every time the app is run.
Thanks again,
Rick
Ivar B. Jessen Wrote:
> On Sat, 10 Dec 2005 14:28:27 -0500, Rick <Sportman7@netzero.com> wrote:
>
w of any way to directly update info in the .cfg file programatically?[color=darkred]
>
> Take a look at the thread in the old news groups starting with this message:
>
> **********
> From: "Don Skupsky" <dskupsky@irch.com>
> Newsgroups: dbase.native-tables
> Subject: Programming BDE Config for Paradox
> Date: Thu, 11 Sep 2003 12:52:39 -0600
> Message-ID: <bjqg7t$2mv$1@news.dbase.com>
> **********
>
> The following two messages may be useful:
>
> **********
>
> http://community.borland.com/articl...0,23231,00.html
>
> You'll have to translate to dBL from the example code.
>
> --
> Bowen Moursund [dBASE Inc.]
> dBASE Newsgroups info & guidelines at:
> http://www.dBASE.com/Docs/NewsGrps.htm
> **********
>
>
> **********
> From: "Marc VdB" <VdBSoft@web.de>
> Newsgroups: dbase.native-tables
> Subject: Re: Programming BDE Config for Paradox
> Date: Tue, 30 Sep 2003 12:02:27 +0200
> Message-ID: <blbkbg$9j7$1@news.dbase.com>
>
> "Don Skupsky" <dskupsky@irch.com> schrieb
>
>
> Hi Don,
>
> See the function below, you can use it as a starting point. (if you don't
> have the api_structs.cc, you must get it from codelib and put it in the
> :DUFLP: source alias folder.)
>
> HTH, Marc Van den Berghen
>
>
> // bof pdxnetdir.prg
>
> //
> ====================
====================
====================
================
> /*
> Set NET DIR : Version 1.0
>
> File : pdxnetdir.prg
> Author : Marc Van den Berghen
> Date : 30-09-03
> Purpose : Designed to change the NET DIR for Paradox tables in a network
> Depends on : api_structs.cc
> Usage : set procedure to pdxnetdir.prg
> iresult=setnetdir("c:\paradox\network")
>
> where the parameter is the path you want to set
>
> //
> ====================
====================
====================
================
> */
>
> function setnetdir(cdir)
>
> #define sesNETFILE 0x00020002 //rw pCHAR , Full path of netfile
> set procedure to :DUFLP:api_structs.cc additive
> local hndbde,iresut
> extern cshort DbiGetCurrSession(cp
tr) idapi32
> extern cshort DbiSetProp(chandle,c
long,cstring) idapi32
> hndbde=new handlepointer()
> iresult=dbigetcurrse
ssion(hndbde) // iresult #0 on error
> if iresult#0
> return iresult
> endif
> iresult=dbisetprop(h
ndbde.hnd() ,sesNETFILE , cdir) // #0 on error
> hndbde.release()
>
> return iresult
>
> ** Be aware, that the change is not permanent, after a restart of the BDE
> ** the Net DIR takes its values from the cfg.
>
> // eof
> **********
>
> Hope it helps
>
>
> Ivar B. Jessen
|
|
|
|
|