Re: .tmp Is Read-Only
NOFILTER just makes the query return an actual file, not just a filtered view of the original source table, but it is still read only.. READWRITE does that AND allows the resulting cursor to be updated. (change field values, multiple index tags, etc.). Fred On Mon, Apr 9, 2018 at 11:45 AM, Paul H. Tarver wrote: > One clarification: If NOFILTER is used, should that be used on the first > query or the sub-query or both? > > Paul > > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of > Richard > Kaye > Sent: Monday, April 09, 2018 1:29 PM > To: profoxt...@leafe.com > Subject: RE: .tmp Is Read-Only > > fyi NOFILTER==READWRITE > > -- > > rk > > -Original Message- > From: ProfoxTech On Behalf Of Frank Cazabon > Sent: Monday, April 09, 2018 1:36 PM > To: profoxt...@leafe.com > Subject: Re: .tmp Is Read-Only > > Paul, > > this is probably due to VFP's optimisation. Always get in the habit of > using > NOFILTER as part of your SQL SELECT command. > > Try it and see if it works in both scenarios for you. > > Without the NOFILTER, VFP may optimise the query by just opening the cursor > again with a filter applied, this may then cause problems while indexing. > My > guess is that it optimises it slightly differently in the development > environment so it works in that case, but in the runtime it handles it by > just filtering it. > > Frank. > > Frank Cazabon > > On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > > Further testing has revealed a couple of things, but I still don't > > understand the why. > > > > The error is generating when I attempt to index the results of a query > > made against SQL query resultant cursor. So, here's the logic: First, > > I send a SQL Pass-through query to the server and store the large > > number of results in TableA. Then when working on just a portion of > > the table I issue a VFP like Select * from TableA where condition into > > cursor TableB. Then I try to create a CDX file with three indexes for > > TableB. In the development environment this works perfectly. However, > > once compiled, I get the error that I noted in the previous message. > > > > Interestingly, if I change the VFP query to Select * from TableA where > > condition into cursor TableB READWRITE, then everything works > > perfectly in both the development and compiled versions of the program. > > > > Can anyone explain the why? I'm sure it has to do with the difference > > between querying a cursor I made in the program versus querying a > > cursor created from a SQL Pass-Through query. But what I can't > > understand is that I am creating indexes on the results of the SQL > > Pass-Through query before I ever create a sub-query of that data, so > > it leaves me confused as to why the read-write permissions are > > difference between the development and compiled versions of my program. > > > > Paul > > > > -Original Message- > > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul > H. > > Tarver > > Sent: Monday, April 09, 2018 11:47 AM > > To: profoxt...@leafe.com > > Subject: .tmp Is Read-Only > > > > I think this is a two part question for VFP9: > > > > > > > > 1) Has anyone had any experience with getting a program error at > > runtime like this: File > > c:\users\paul\appdata\local\temp\xxx.tmp > > is read-only? I do not get a similar error when running in development > > mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and > > TMPFILES in the CONFIG.FPW file. > > > > 2) Why does VFP continue to create cursor temp files in the > > aforementioned path at all when I've manual set the path for temporary > > files in the CONFIG.FPW file? > > > > > > > > I'm sure it is something I'm doing wrong, so feel free to provide > > constructive OR destructive criticism. J > > > > > > > > Thanks! > > > > > > > > Paul > > > > > > > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative > >text/plain (text body -- kept) > >text/html > > --- > > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/CAJCBkspA_f=yfnvhuqrmyk8sjnrs57bexv321rrke05xne9...@mail.gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
Either one should let you create as many indexes as you want. But Tracy will correct me if I'm wrong... 😊 -- rk -Original Message- From: ProfoxTech On Behalf Of Paul H. Tarver Sent: Monday, April 09, 2018 2:45 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only One clarification: If NOFILTER is used, should that be used on the first query or the sub-query or both? Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Richard Kaye Sent: Monday, April 09, 2018 1:29 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only fyi NOFILTER==READWRITE -- rk -Original Message- From: ProfoxTech On Behalf Of Frank Cazabon Sent: Monday, April 09, 2018 1:36 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > Further testing has revealed a couple of things, but I still don't > understand the why. > > The error is generating when I attempt to index the results of a query > made against SQL query resultant cursor. So, here's the logic: First, > I send a SQL Pass-through query to the server and store the large > number of results in TableA. Then when working on just a portion of > the table I issue a VFP like Select * from TableA where condition into > cursor TableB. Then I try to create a CDX file with three indexes for > TableB. In the development environment this works perfectly. However, > once compiled, I get the error that I noted in the previous message. > > Interestingly, if I change the VFP query to Select * from TableA where > condition into cursor TableB READWRITE, then everything works > perfectly in both the development and compiled versions of the program. > > Can anyone explain the why? I'm sure it has to do with the difference > between querying a cursor I made in the program versus querying a > cursor created from a SQL Pass-Through query. But what I can't > understand is that I am creating indexes on the results of the SQL > Pass-Through query before I ever create a sub-query of that data, so > it leaves me confused as to why the read-write permissions are > difference between the development and compiled versions of my program. > > Paul > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. > Tarver > Sent: Monday, April 09, 2018 11:47 AM > To: profoxt...@leafe.com > Subject: .tmp Is Read-Only > > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File > c:\users\paul\appdata\local\temp\xxx.tmp > is read-only? I do not get a similar error when running in development > mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and > TMPFILES in the CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary > files in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative >text/plain (text body -- kept) >text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/07db01d3d032$e635bce0$b2a136a0$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious. Report [OT] Abuse: http://leafe.com/reportAbuse/07db01d3d032$e635bce0$b2a136a0$@tpcqpc.com ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinf
RE: .tmp Is Read-Only
One clarification: If NOFILTER is used, should that be used on the first query or the sub-query or both? Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Richard Kaye Sent: Monday, April 09, 2018 1:29 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only fyi NOFILTER==READWRITE -- rk -Original Message- From: ProfoxTech On Behalf Of Frank Cazabon Sent: Monday, April 09, 2018 1:36 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > Further testing has revealed a couple of things, but I still don't > understand the why. > > The error is generating when I attempt to index the results of a query > made against SQL query resultant cursor. So, here's the logic: First, > I send a SQL Pass-through query to the server and store the large > number of results in TableA. Then when working on just a portion of > the table I issue a VFP like Select * from TableA where condition into > cursor TableB. Then I try to create a CDX file with three indexes for > TableB. In the development environment this works perfectly. However, > once compiled, I get the error that I noted in the previous message. > > Interestingly, if I change the VFP query to Select * from TableA where > condition into cursor TableB READWRITE, then everything works > perfectly in both the development and compiled versions of the program. > > Can anyone explain the why? I'm sure it has to do with the difference > between querying a cursor I made in the program versus querying a > cursor created from a SQL Pass-Through query. But what I can't > understand is that I am creating indexes on the results of the SQL > Pass-Through query before I ever create a sub-query of that data, so > it leaves me confused as to why the read-write permissions are > difference between the development and compiled versions of my program. > > Paul > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. > Tarver > Sent: Monday, April 09, 2018 11:47 AM > To: profoxt...@leafe.com > Subject: .tmp Is Read-Only > > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File > c:\users\paul\appdata\local\temp\xxx.tmp > is read-only? I do not get a similar error when running in development > mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and > TMPFILES in the CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary > files in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative >text/plain (text body -- kept) >text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/07db01d3d032$e635bce0$b2a136a0$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
I use a similar structure. But I usually distribute all of the folders I use with the programs. My global class library is not included in standard distributions. Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Fernando D. Bozzo Sent: Monday, April 09, 2018 12:27 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Just to complete a little more what I wrote: For Development I use a directory structure like this \root-app-dir => Directory from where I run the code and the EXE, and when MAIN.PRG is \config => contains the config.fpw included on the EXE/APP \classes \progs => All PRGs EXCEPT main one, that is on root app dir \DATA=> DBFs, CDXs, etc (AV excluded DIR) On Production, the directory structure is a subset: \root-app-dir => EXE \DATA=> DBFs, CDXs, etc (AV excluded DIR) 2018-04-09 19:19 GMT+02:00 Fernando D. Bozzo : > Hi Paul, > > 1. Occurred to me, and I think that *could* have something to do with > Windows Folder Virtualization > > 2. When Windows can't write to your CFG dirs, then automatically > select the TEMP > > In my experience with this "strange" errors, I've fixed them creating > a subdirectory by user behind a public one --well ahead of Windows own > dirs-- with all the permissions necessary (ie: > "C:\APPNAME\DATA\USERX") > > I have 2 solutions for this up to now, and in both of them Windows > can't interfere in any way, and you just want to configure de AV > software to ignore it: > > > 1) When the PC is not shared between users: > > This is the most simple case, and all you need is to create a DATA > directory (ie: "C:\APPNAME\DATA") and a CONFIG.FPW with this directory > for all config items > > > 2) When the PC (Server) is shared among users: > > This is a little tricky, but with you can asure that user TMP files > are well separated, and requires a "launcher" file (can be a VFP or a > VBS script one) that before starts the VFP APP/EXE, creates a > "personal" CFG file for each user (ie: > "C:\APPNAME\DATA\USERX\config.fpw") with all the paths ponting to this > dir, the launches the VFP APP/EXE with the *-C* > C:\APPNAME\DATA\USERX\config.fpw option > > You even can use an internal CONFIG.FPW with starting exactly with > this lines to allow using the external CFG: > > * internal config.fpw > ALLOWEXTERNAL=ON > RESOURCE=OFF > > > Hope it helps. > > > 2018-04-09 18:46 GMT+02:00 Paul H. Tarver : > >> I think this is a two part question for VFP9: >> >> >> >> 1) Has anyone had any experience with getting a program error at >> runtime like this: File c:\users\paul\appdata\local\te >> mp\xxx.tmp is read-only? I do not get a similar error >> when running in development mode and I have explicitly set SORTWORK, >> PROGWORK, EDITWORK and TMPFILES in the CONFIG.FPW file. >> >> 2) Why does VFP continue to create cursor temp files in the >> aforementioned path at all when I've manual set the path for >> temporary files in the CONFIG.FPW file? >> >> >> >> I'm sure it is something I'm doing wrong, so feel free to provide >> constructive OR destructive criticism. J >> >> >> >> Thanks! >> >> >> >> Paul >> >> >> >> >> >> --- StripMime Report -- processed MIME parts --- >> multipart/alternative >> text/plain (text body -- kept) >> text/html >> --- >> [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/071101d3d032$911856f0$b34904d0$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
Taking what Frank said in combination with your comments, Fred, and it makes better sense. When we get our first results, we index the file with multiple tags but a single CDX file. When we issue the sub-query of the data in that file, it must be creating a "virtual cursor" of the original data so when I go to create the index on the sub-query, it throws a read-only error because we have now created more than one CDX file for the original cursor. It works now by forcing the sub-query to be READWRITE which I assume is similar to the NOFILTER option in that it creates a physical cursor rather than a virtual one. I'm just speculating here because I really don't know, but at least this theory fits the facts. :) Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Fred Taylor Sent: Monday, April 09, 2018 12:40 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only You're SQL cursor has to be made with the READWRITE clause if you're going to try to create more than one index on the resulting cursor. Fred On Mon, Apr 9, 2018 at 10:35 AM, Frank Cazabon wrote: > Paul, > > this is probably due to VFP's optimisation. Always get in the habit of > using NOFILTER as part of your SQL SELECT command. > > Try it and see if it works in both scenarios for you. > > Without the NOFILTER, VFP may optimise the query by just opening the > cursor again with a filter applied, this may then cause problems while > indexing. My guess is that it optimises it slightly differently in the > development environment so it works in that case, but in the runtime > it handles it by just filtering it. > > Frank. > > Frank Cazabon > > > On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > >> Further testing has revealed a couple of things, but I still don't >> understand the why. >> >> The error is generating when I attempt to index the results of a >> query made against SQL query resultant cursor. So, here's the logic: >> First, I send a SQL Pass-through query to the server and store the >> large number of results in TableA. Then when working on just a >> portion of the table I issue a VFP like Select * from TableA where >> condition into cursor TableB. Then I try to create a CDX file with >> three indexes for TableB. In the development environment this works >> perfectly. However, once compiled, I get the error that I noted in >> the previous message. >> >> Interestingly, if I change the VFP query to Select * from TableA >> where condition into cursor TableB READWRITE, then everything works >> perfectly in both the development and compiled versions of the program. >> >> Can anyone explain the why? I'm sure it has to do with the difference >> between querying a cursor I made in the program versus querying a >> cursor created from a SQL Pass-Through query. But what I can't >> understand is that I am creating indexes on the results of the SQL >> Pass-Through query before I ever create a sub-query of that data, so >> it leaves me confused as to why the read-write permissions are >> difference between the development and compiled versions of my >> program. >> >> Paul >> >> -Original Message- >> From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of >> Paul H. >> Tarver >> Sent: Monday, April 09, 2018 11:47 AM >> To: profoxt...@leafe.com >> Subject: .tmp Is Read-Only >> >> I think this is a two part question for VFP9: >> >> >> 1) Has anyone had any experience with getting a program error at >> runtime like this: File c:\users\paul\appdata\local\te >> mp\xxx.tmp is read-only? I do not get a similar error >> when running in development mode and I have explicitly set SORTWORK, >> PROGWORK, EDITWORK and TMPFILES in the CONFIG.FPW file. >> >> 2) Why does VFP continue to create cursor temp files in the >> aforementioned path at all when I've manual set the path for >> temporary files in the CONFIG.FPW file? >> >> >> I'm sure it is something I'm doing wrong, so feel free to provide >> constructive OR destructive criticism. J >> >> >> Thanks! >> >> >> Paul >> >> >> >> >> --- StripMime Report -- processed MIME parts --- multipart/alternative >>text/plain (text body -- kept) >>text/html >> --- >> [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/071001d3d032$910e1dc0$b32a5940$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
Ah. I stand corrected, Tracy. I was going from memory on what the documentation says and did not recall that distinction. -- rk -Original Message- From: ProfoxTech On Behalf Of Tracy Pearson Sent: Monday, April 09, 2018 2:34 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only NOFILTER does not allow editing of the query results READWRITE does. -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Richard Kaye Sent: Monday, April 09, 2018 2:29 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only fyi NOFILTER==READWRITE -- rk -Original Message- From: ProfoxTech On Behalf Of Frank Cazabon Sent: Monday, April 09, 2018 1:36 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > Further testing has revealed a couple of things, but I still don't > understand the why. > > The error is generating when I attempt to index the results of a query made > against SQL query resultant cursor. So, here's the logic: First, I send a > SQL Pass-through query to the server and store the large number of results > in TableA. Then when working on just a portion of the table I issue a VFP > like Select * from TableA where condition into cursor TableB. Then I try to > create a CDX file with three indexes for TableB. In the development > environment this works perfectly. However, once compiled, I get the error > that I noted in the previous message. > > Interestingly, if I change the VFP query to Select * from TableA where > condition into cursor TableB READWRITE, then everything works perfectly in > both the development and compiled versions of the program. > > Can anyone explain the why? I'm sure it has to do with the difference > between querying a cursor I made in the program versus querying a cursor > created from a SQL Pass-Through query. But what I can't understand is that I > am creating indexes on the results of the SQL Pass-Through query before I > ever create a sub-query of that data, so it leaves me confused as to why the > read-write permissions are difference between the development and compiled > versions of my program. > > Paul > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. > Tarver > Sent: Monday, April 09, 2018 11:47 AM > To: profoxt...@leafe.com > Subject: .tmp Is Read-Only > > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp > is read-only? I do not get a similar error when running in development mode > and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the > CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary files > in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative >text/plain (text body -- kept) >text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/dm5pr10mb12440f47b790d2afd1e62b59d2...@dm5pr10mb1244.namprd10.prod.outlook.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
NOFILTER does not allow editing of the query results READWRITE does. -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Richard Kaye Sent: Monday, April 09, 2018 2:29 PM To: profoxt...@leafe.com Subject: RE: .tmp Is Read-Only fyi NOFILTER==READWRITE -- rk -Original Message- From: ProfoxTech On Behalf Of Frank Cazabon Sent: Monday, April 09, 2018 1:36 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > Further testing has revealed a couple of things, but I still don't > understand the why. > > The error is generating when I attempt to index the results of a query made > against SQL query resultant cursor. So, here's the logic: First, I send a > SQL Pass-through query to the server and store the large number of results > in TableA. Then when working on just a portion of the table I issue a VFP > like Select * from TableA where condition into cursor TableB. Then I try to > create a CDX file with three indexes for TableB. In the development > environment this works perfectly. However, once compiled, I get the error > that I noted in the previous message. > > Interestingly, if I change the VFP query to Select * from TableA where > condition into cursor TableB READWRITE, then everything works perfectly in > both the development and compiled versions of the program. > > Can anyone explain the why? I'm sure it has to do with the difference > between querying a cursor I made in the program versus querying a cursor > created from a SQL Pass-Through query. But what I can't understand is that I > am creating indexes on the results of the SQL Pass-Through query before I > ever create a sub-query of that data, so it leaves me confused as to why the > read-write permissions are difference between the development and compiled > versions of my program. > > Paul > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. > Tarver > Sent: Monday, April 09, 2018 11:47 AM > To: profoxt...@leafe.com > Subject: .tmp Is Read-Only > > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp > is read-only? I do not get a similar error when running in development mode > and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the > CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary files > in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative >text/plain (text body -- kept) >text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/000501d3d031$646f5870$2d4e0950$@powerchurch.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
fyi NOFILTER==READWRITE -- rk -Original Message- From: ProfoxTech On Behalf Of Frank Cazabon Sent: Monday, April 09, 2018 1:36 PM To: profoxt...@leafe.com Subject: Re: .tmp Is Read-Only Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > Further testing has revealed a couple of things, but I still don't > understand the why. > > The error is generating when I attempt to index the results of a query made > against SQL query resultant cursor. So, here's the logic: First, I send a > SQL Pass-through query to the server and store the large number of results > in TableA. Then when working on just a portion of the table I issue a VFP > like Select * from TableA where condition into cursor TableB. Then I try to > create a CDX file with three indexes for TableB. In the development > environment this works perfectly. However, once compiled, I get the error > that I noted in the previous message. > > Interestingly, if I change the VFP query to Select * from TableA where > condition into cursor TableB READWRITE, then everything works perfectly in > both the development and compiled versions of the program. > > Can anyone explain the why? I'm sure it has to do with the difference > between querying a cursor I made in the program versus querying a cursor > created from a SQL Pass-Through query. But what I can't understand is that I > am creating indexes on the results of the SQL Pass-Through query before I > ever create a sub-query of that data, so it leaves me confused as to why the > read-write permissions are difference between the development and compiled > versions of my program. > > Paul > > -Original Message- > From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. > Tarver > Sent: Monday, April 09, 2018 11:47 AM > To: profoxt...@leafe.com > Subject: .tmp Is Read-Only > > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp > is read-only? I do not get a similar error when running in development mode > and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the > CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary files > in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- multipart/alternative >text/plain (text body -- kept) >text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/dm5pr10mb1244c0382e4667ef2ba263bbd2...@dm5pr10mb1244.namprd10.prod.outlook.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Re: .tmp Is Read-Only
You're SQL cursor has to be made with the READWRITE clause if you're going to try to create more than one index on the resulting cursor. Fred On Mon, Apr 9, 2018 at 10:35 AM, Frank Cazabon wrote: > Paul, > > this is probably due to VFP's optimisation. Always get in the habit of > using NOFILTER as part of your SQL SELECT command. > > Try it and see if it works in both scenarios for you. > > Without the NOFILTER, VFP may optimise the query by just opening the > cursor again with a filter applied, this may then cause problems while > indexing. My guess is that it optimises it slightly differently in the > development environment so it works in that case, but in the runtime it > handles it by just filtering it. > > Frank. > > Frank Cazabon > > > On 09/04/2018 01:07 PM, Paul H. Tarver wrote: > >> Further testing has revealed a couple of things, but I still don't >> understand the why. >> >> The error is generating when I attempt to index the results of a query >> made >> against SQL query resultant cursor. So, here's the logic: First, I send a >> SQL Pass-through query to the server and store the large number of results >> in TableA. Then when working on just a portion of the table I issue a VFP >> like Select * from TableA where condition into cursor TableB. Then I try >> to >> create a CDX file with three indexes for TableB. In the development >> environment this works perfectly. However, once compiled, I get the error >> that I noted in the previous message. >> >> Interestingly, if I change the VFP query to Select * from TableA where >> condition into cursor TableB READWRITE, then everything works perfectly in >> both the development and compiled versions of the program. >> >> Can anyone explain the why? I'm sure it has to do with the difference >> between querying a cursor I made in the program versus querying a cursor >> created from a SQL Pass-Through query. But what I can't understand is >> that I >> am creating indexes on the results of the SQL Pass-Through query before I >> ever create a sub-query of that data, so it leaves me confused as to why >> the >> read-write permissions are difference between the development and compiled >> versions of my program. >> >> Paul >> >> -Original Message- >> From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul >> H. >> Tarver >> Sent: Monday, April 09, 2018 11:47 AM >> To: profoxt...@leafe.com >> Subject: .tmp Is Read-Only >> >> I think this is a two part question for VFP9: >> >> >> 1) Has anyone had any experience with getting a program error at >> runtime like this: File c:\users\paul\appdata\local\te >> mp\xxx.tmp >> is read-only? I do not get a similar error when running in development >> mode >> and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the >> CONFIG.FPW file. >> >> 2) Why does VFP continue to create cursor temp files in the >> aforementioned path at all when I've manual set the path for temporary >> files >> in the CONFIG.FPW file? >> >> >> I'm sure it is something I'm doing wrong, so feel free to provide >> constructive OR destructive criticism. J >> >> >> Thanks! >> >> >> Paul >> >> >> >> >> --- StripMime Report -- processed MIME parts --- multipart/alternative >>text/plain (text body -- kept) >>text/html >> --- >> [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/cajcbksrzw8birt-wtiygxar1krpsueqx-+d3xk--38j+zyt...@mail.gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Re: .tmp Is Read-Only
Paul, this is probably due to VFP's optimisation. Always get in the habit of using NOFILTER as part of your SQL SELECT command. Try it and see if it works in both scenarios for you. Without the NOFILTER, VFP may optimise the query by just opening the cursor again with a filter applied, this may then cause problems while indexing. My guess is that it optimises it slightly differently in the development environment so it works in that case, but in the runtime it handles it by just filtering it. Frank. Frank Cazabon On 09/04/2018 01:07 PM, Paul H. Tarver wrote: Further testing has revealed a couple of things, but I still don't understand the why. The error is generating when I attempt to index the results of a query made against SQL query resultant cursor. So, here's the logic: First, I send a SQL Pass-through query to the server and store the large number of results in TableA. Then when working on just a portion of the table I issue a VFP like Select * from TableA where condition into cursor TableB. Then I try to create a CDX file with three indexes for TableB. In the development environment this works perfectly. However, once compiled, I get the error that I noted in the previous message. Interestingly, if I change the VFP query to Select * from TableA where condition into cursor TableB READWRITE, then everything works perfectly in both the development and compiled versions of the program. Can anyone explain the why? I'm sure it has to do with the difference between querying a cursor I made in the program versus querying a cursor created from a SQL Pass-Through query. But what I can't understand is that I am creating indexes on the results of the SQL Pass-Through query before I ever create a sub-query of that data, so it leaves me confused as to why the read-write permissions are difference between the development and compiled versions of my program. Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. Tarver Sent: Monday, April 09, 2018 11:47 AM To: profoxt...@leafe.com Subject: .tmp Is Read-Only I think this is a two part question for VFP9: 1) Has anyone had any experience with getting a program error at runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp is read-only? I do not get a similar error when running in development mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the CONFIG.FPW file. 2) Why does VFP continue to create cursor temp files in the aforementioned path at all when I've manual set the path for temporary files in the CONFIG.FPW file? I'm sure it is something I'm doing wrong, so feel free to provide constructive OR destructive criticism. J Thanks! Paul --- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html --- [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/d55a338d-edf7-fe48-32d3-2b9fe8287...@gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Re: .tmp Is Read-Only
Just to complete a little more what I wrote: For Development I use a directory structure like this \root-app-dir => Directory from where I run the code and the EXE, and when MAIN.PRG is \config => contains the config.fpw included on the EXE/APP \classes \progs => All PRGs EXCEPT main one, that is on root app dir \DATA=> DBFs, CDXs, etc (AV excluded DIR) On Production, the directory structure is a subset: \root-app-dir => EXE \DATA=> DBFs, CDXs, etc (AV excluded DIR) 2018-04-09 19:19 GMT+02:00 Fernando D. Bozzo : > Hi Paul, > > 1. Occurred to me, and I think that *could* have something to do with > Windows Folder Virtualization > > 2. When Windows can't write to your CFG dirs, then automatically select > the TEMP > > In my experience with this "strange" errors, I've fixed them creating a > subdirectory by user behind a public one --well ahead of Windows own dirs-- > with all the permissions necessary (ie: "C:\APPNAME\DATA\USERX") > > I have 2 solutions for this up to now, and in both of them Windows can't > interfere in any way, and you just want to configure de AV software to > ignore it: > > > 1) When the PC is not shared between users: > > This is the most simple case, and all you need is to create a DATA > directory (ie: "C:\APPNAME\DATA") and a CONFIG.FPW with this directory for > all config items > > > 2) When the PC (Server) is shared among users: > > This is a little tricky, but with you can asure that user TMP files are > well separated, and requires a "launcher" file (can be a VFP or a VBS > script one) that before starts the VFP APP/EXE, creates a "personal" CFG > file for each user (ie: "C:\APPNAME\DATA\USERX\config.fpw") with all the > paths ponting to this dir, the launches the VFP APP/EXE with the *-C* > C:\APPNAME\DATA\USERX\config.fpw option > > You even can use an internal CONFIG.FPW with starting exactly with this > lines to allow using the external CFG: > > * internal config.fpw > ALLOWEXTERNAL=ON > RESOURCE=OFF > > > Hope it helps. > > > 2018-04-09 18:46 GMT+02:00 Paul H. Tarver : > >> I think this is a two part question for VFP9: >> >> >> >> 1) Has anyone had any experience with getting a program error at >> runtime like this: File c:\users\paul\appdata\local\te >> mp\xxx.tmp >> is read-only? I do not get a similar error when running in development >> mode >> and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the >> CONFIG.FPW file. >> >> 2) Why does VFP continue to create cursor temp files in the >> aforementioned path at all when I've manual set the path for temporary >> files >> in the CONFIG.FPW file? >> >> >> >> I'm sure it is something I'm doing wrong, so feel free to provide >> constructive OR destructive criticism. J >> >> >> >> Thanks! >> >> >> >> Paul >> >> >> >> >> >> --- StripMime Report -- processed MIME parts --- >> multipart/alternative >> text/plain (text body -- kept) >> text/html >> --- >> [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/CAGQ_Ju=1N5xeCfAnu0i1zkhMnMHJota2k3i=o5m9np6htk9...@mail.gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
Re: .tmp Is Read-Only
Hi Paul, 1. Occurred to me, and I think that *could* have something to do with Windows Folder Virtualization 2. When Windows can't write to your CFG dirs, then automatically select the TEMP In my experience with this "strange" errors, I've fixed them creating a subdirectory by user behind a public one --well ahead of Windows own dirs-- with all the permissions necessary (ie: "C:\APPNAME\DATA\USERX") I have 2 solutions for this up to now, and in both of them Windows can't interfere in any way, and you just want to configure de AV software to ignore it: 1) When the PC is not shared between users: This is the most simple case, and all you need is to create a DATA directory (ie: "C:\APPNAME\DATA") and a CONFIG.FPW with this directory for all config items 2) When the PC (Server) is shared among users: This is a little tricky, but with you can asure that user TMP files are well separated, and requires a "launcher" file (can be a VFP or a VBS script one) that before starts the VFP APP/EXE, creates a "personal" CFG file for each user (ie: "C:\APPNAME\DATA\USERX\config.fpw") with all the paths ponting to this dir, the launches the VFP APP/EXE with the *-C*C:\APPNAME\DATA\USERX\config.fpw option You even can use an internal CONFIG.FPW with starting exactly with this lines to allow using the external CFG: * internal config.fpw ALLOWEXTERNAL=ON RESOURCE=OFF Hope it helps. 2018-04-09 18:46 GMT+02:00 Paul H. Tarver : > I think this is a two part question for VFP9: > > > > 1) Has anyone had any experience with getting a program error at > runtime like this: File c:\users\paul\appdata\local\ > temp\xxx.tmp > is read-only? I do not get a similar error when running in development mode > and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the > CONFIG.FPW file. > > 2) Why does VFP continue to create cursor temp files in the > aforementioned path at all when I've manual set the path for temporary > files > in the CONFIG.FPW file? > > > > I'm sure it is something I'm doing wrong, so feel free to provide > constructive OR destructive criticism. J > > > > Thanks! > > > > Paul > > > > > > --- StripMime Report -- processed MIME parts --- > multipart/alternative > text/plain (text body -- kept) > text/html > --- > [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/cagq_jumcgk3231bbsoy7s5zmnyh-oi_rla55e_r+k9a0aq0...@mail.gmail.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
RE: .tmp Is Read-Only
Further testing has revealed a couple of things, but I still don't understand the why. The error is generating when I attempt to index the results of a query made against SQL query resultant cursor. So, here's the logic: First, I send a SQL Pass-through query to the server and store the large number of results in TableA. Then when working on just a portion of the table I issue a VFP like Select * from TableA where condition into cursor TableB. Then I try to create a CDX file with three indexes for TableB. In the development environment this works perfectly. However, once compiled, I get the error that I noted in the previous message. Interestingly, if I change the VFP query to Select * from TableA where condition into cursor TableB READWRITE, then everything works perfectly in both the development and compiled versions of the program. Can anyone explain the why? I'm sure it has to do with the difference between querying a cursor I made in the program versus querying a cursor created from a SQL Pass-Through query. But what I can't understand is that I am creating indexes on the results of the SQL Pass-Through query before I ever create a sub-query of that data, so it leaves me confused as to why the read-write permissions are difference between the development and compiled versions of my program. Paul -Original Message- From: ProfoxTech [mailto:profoxtech-boun...@leafe.com] On Behalf Of Paul H. Tarver Sent: Monday, April 09, 2018 11:47 AM To: profoxt...@leafe.com Subject: .tmp Is Read-Only I think this is a two part question for VFP9: 1) Has anyone had any experience with getting a program error at runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp is read-only? I do not get a similar error when running in development mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the CONFIG.FPW file. 2) Why does VFP continue to create cursor temp files in the aforementioned path at all when I've manual set the path for temporary files in the CONFIG.FPW file? I'm sure it is something I'm doing wrong, so feel free to provide constructive OR destructive criticism. J Thanks! Paul --- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html --- [excessive quoting removed by server] ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/05dd01d3d025$46546620$d2fd3260$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.
.tmp Is Read-Only
I think this is a two part question for VFP9: 1) Has anyone had any experience with getting a program error at runtime like this: File c:\users\paul\appdata\local\temp\xxx.tmp is read-only? I do not get a similar error when running in development mode and I have explicitly set SORTWORK, PROGWORK, EDITWORK and TMPFILES in the CONFIG.FPW file. 2) Why does VFP continue to create cursor temp files in the aforementioned path at all when I've manual set the path for temporary files in the CONFIG.FPW file? I'm sure it is something I'm doing wrong, so feel free to provide constructive OR destructive criticism. J Thanks! Paul --- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html --- ___ Post Messages to: ProFox@leafe.com Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech Searchable Archive: http://leafe.com/archives/search/profox This message: http://leafe.com/archives/byMID/profox/05ba01d3d022$5c4b71b0$14e25510$@tpcqpc.com ** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.