Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 20 total |
Getting my head around EDB |
Fri, Aug 21 2009 12:51 AM | Permanent Link |
"Adam H." | Hi Guys,
I seem to be having some major problems trying to implement my first EDB application at a clients... I have designed the first part of a small application, and it runs fine within my IDE / development operating system. When I copy the database I've created as well as the application to my clients computer, and then set the data location in my application (as per the script in my post "Problem opening table") I've been able to get it to 'see' the database. (I put the database folder/files on a file server, and the program locally - connecting directly). But when I try to insert a record (or edit) within the application I get the error: ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt was made to update a read-only cursor). I decided maybe the best thing to do would be to install EDBManager and see what I can find with this, but when I run up EDBManager, I seem to be unable to connect to the database correctly. If I create a local session, and then 'create' a database and point the location to the servers database location - it doesn't appear to be able to 'see' any tables there. I'm not sure if I should be 'creating' a database within EDBmanager - as I really want to 'connect' to an existing one, but there doesn't seem to be an option to do this... I've also tried creating a local session, but pointing the directory to the database directory on the server. (I thought that I should be *connecting* to a session instead of creating one , but there's no option to 'connect' - just to create a new session). So, I've tried this (creating a session, and pointing the path to the location on the server), but can't see the databases - and I think all I've managed to do is confuse myself more on how EDB is supposed to work (as opposed to DBISam). Any help would be greatly apprecaited... Cheers Adam. |
Fri, Aug 21 2009 4:19 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Adam
Wow, you are confusing yourself aren't you? >ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt >was made to update a read-only cursor). Either this could refer to the physical state of the tables on disk, user access to the directory the tables are in or (I'm guessing) is more likely to be not giving users the right access level. I'll let you check out the tables state on disk and disk level access privileges. When you set users up you can either give them a role or directly give them privileges to access and do things with the tables. Check out GRANT ROLES and GRANT PRIVILEGES >I decided maybe the best thing to do would be to install EDBManager and see >what I can find with this, but when I run up EDBManager, I seem to be unable >to connect to the database correctly. >If I create a local session, and then 'create' a database and point the >location to the servers database location - it doesn't appear to be able to >'see' any tables there. When you created the session did you set the File Folder in Local Configuration and the correct Login details? If you have an encryption password then you'll need to set that in the .ini AFTER creating the session and BEFORE opening it - ie you have to close and re-open EDBManager (TIM HURRY UP ON THAT CHANGE!!!!) Once the session is correctly set up then opening it and clicking on Databases should show them. >I'm not sure if I should be 'creating' a database within EDBmanager - as I >really want to 'connect' to an existing one, but there doesn't seem to be an >option to do this... No you shouldn't >I've also tried creating a local session, but pointing the directory to the >database directory on the server. (I thought that I should be *connecting* >to a session instead of creating one , but there's no option to 'connect' - >just to create a new session). This is probably where you're going wrong. You need to point it at the configuration file not the tables. Think of it as multi level storage DISK - configuration --database ---tables ----records You need to work through each level in turn. You're trying to (as with DBISAM) just straight to tables and you need to go to configuration which will tell you where the databases are which will point to the tables. If that lot doesn't help lets see if we can arrange a suitable time for both to Skype Roy Lambert [Team Elevate] |
Fri, Aug 21 2009 11:32 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Adam,
<< But when I try to insert a record (or edit) within the application I get the error: ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt was made to update a read-only cursor). >> Are you trying to edit a TEDBTable or TEDBQuery component ? << If I create a local session, and then 'create' a database and point the location to the servers database location - it doesn't appear to be able to 'see' any tables there. >> You'll need to make sure to set the configuration path properly for the session. You can see how here: http://www.elevatesoft.com/manual?action=mantopic&id=edb2&product=d&version=7&category=0&topic=1 at the beginning under the Edit Session information. << I'm not sure if I should be 'creating' a database within EDBmanager - as I really want to 'connect' to an existing one, but there doesn't seem to be an option to do this... >> If you have set the configuration path properly, and the database already exists, then connecting the session should cause the database to appear automatically. << I've also tried creating a local session, but pointing the directory to the database directory on the server. (I thought that I should be *connecting* to a session instead of creating one , but there's no option to 'connect' - just to create a new session). >> Sessions are only persistent (stored) in the EDB Manager. There really isn't any concept of a persistent session in EDB itself. << So, I've tried this (creating a session, and pointing the path to the location on the server), but can't see the databases - and I think all I've managed to do is confuse myself more on how EDB is supposed to work (as opposed to DBISam). >> Try to think of things like this: everything is exactly like with DBISAM, except that instead of a TDBISAMDatabase.Directory setting, you use CREATE/ALTER/DROP DATABASE to specify the path to the database. You just need to make sure that the TEDBSession.ConfigPath is set properly so that it is pointing to the desired configuration where these database paths (among other things) are stored. -- Tim Young Elevate Software www.elevatesoft.com |
Sun, Aug 23 2009 8:05 PM | Permanent Link |
"Adam H." | Good Morning Roy,
Thanks for your reply... > Wow, you are confusing yourself aren't you? You have no idea! <vbg> > Once the session is correctly set up then opening it and clicking on > Databases should show them. Aaah - right. I get it (I think). The session points to a configuration file that contains all the information for the database(s) (if ther are more than one) - so the session path needs to be set correctly, but once done everything else should fall into place... I also think we've found the problem as to why we couldn't see the database. We changed the configuration file's name when we first setup the application, and forgot to change the settings in EDBmanager when we set it up. We can now connect since we've changed this name. (In future, I think I'll leave it set to EDBConfig by default to avoid such confusions). >>ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt >>was made to update a read-only cursor). > > Either this could refer to the physical state of the tables on disk, user > access to the directory the tables are in or (I'm guessing) is more likely > to be not giving users the right access level. By giving users the right access level, you're talking externally to EDB I assume. (ie - Windows secuirty, etc) - and that a different error would occur if it was user rights within EDB. I thought we had full access for the users, but have since double-checked. (See below) > When you set users up you can either give them a role or directly give > them privileges to access and do things with the tables. Check out GRANT > ROLES and GRANT PRIVILEGES At this point in time, we've hardcoded Administrator and EDBDefault into the application's EDBSession component - so we shouldn't have any problems with EDB secuirty. (There is no need for us to have this security feature at this time, and I'm trying to avoid additional hurdles for our first application, so figure connecting as Administrator is the simplest method). However - we have tried setting up the application on a different machine in our office (the same way we have at our clients), and we have the same problem. Now though (since we've figured out the config name problem) we can connect using EDBManager, but still cannot edit the data (even with EDBManager). If I right-click and choose SET AS NULL it says that we cannot peroform this operation on a read-only dataset. We are using Administrator and EDBDefault as the username and password, so should have full access according to EDB. We have also set Windows security on the folder (and subfolders) to FULL CONTROL for everyone (and removed all other users) and still can't figure out why it's a read-only dataset. I've also dropped to command prompt and executed "Attrib -r -a -s -h *.* /s" to make sure no 'read only' attributes are set to the database and/or tables. There's gotta be something else we've missed, but I can't figure out what it could be. (We're using the UNICODE version if that makes any difference? ) > If you have an encryption password then you'll need to set that in the > .ini AFTER creating the session and BEFORE opening it - ie you have to > close and re-open EDBManager (TIM HURRY UP ON THAT CHANGE!!!!) We're not using encryption in this application. (At this stage, we're trying to keep it as close to a "stLocal DBISam" database as possible to avoid any additional confusion). We're also using EDB version 1 (not 2), so any change Tim makes to 2 isn't going to help us much. > Think of it as multi level storage > > DISK > - configuration > --database > ---tables > ----records > > You need to work through each level in turn. You're trying to (as with > DBISAM) just straight to tables and you need to go to configuration which > will tell you where the databases are which > will point to the tables. > > If that lot doesn't help lets see if we can arrange a suitable time for > both to Skype Thanks for the offer. I'm on GMT + 10 time wise, so I'm not sure if you're in bed when I'm awake and vise-versa. Hopefully we can get this sorted out soon, but I appreciate the offer for skype, and might take it up if we keep hitting a dead end. Thanks for your help! Adam. |
Sun, Aug 23 2009 8:10 PM | Permanent Link |
"Adam H." | Good Morning Tim,
> << But when I try to insert a record (or edit) within the application I > get the error: > > ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt > was made to update a read-only cursor). >> > > Are you trying to edit a TEDBTable or TEDBQuery component ? This is a TEDBTable component. As per my reply to Roy, we've checked: a) EDB Credentials. (We're using Administrator and EDBDefault to login). b) Windows Security. (Even to the point of setting FULL CONTROL for 'Everyone' and removing all other users to avoid restrictions). c) Making sure the Read Only attribute isn't set on the folder, or any subfolders. .... yet we still can't Edit the dataset. (And get the error 'cannot performt this operation on a readonly dataset' if we choose 'SET AS NULL' within the EDBManager This is now on 2 machines (as we can't do it on our clients, so we've tried on another machine in the office which isn't a development machine) - and it still fails. > << If I create a local session, and then 'create' a database and point the > location to the servers database location - it doesn't appear to be able > to 'see' any tables there. >> > > You'll need to make sure to set the configuration path properly for the > session. You can see how here: > > http://www.elevatesoft.com/manual?action=mantopic&id=edb2&product=d&version=7&category=0&topic=1 > > at the beginning under the Edit Session information. Thanks Tim. I think we've got this bit right now (as we can see the tables) - just can't edit them. > << I've also tried creating a local session, but pointing the directory to > the database directory on the server. (I thought that I should be > *connecting* to a session instead of creating one , but there's no option > to 'connect' - just to create a new session). >> > > Sessions are only persistent (stored) in the EDB Manager. There really > isn't any concept of a persistent session in EDB itself. Aah - OK. Thanks. So, theorietically I could have multiple config files all over a machine (for different databases), as long as I never needed to connect to more than one database simultaneously. (Not that I would want to do this - but just to get my head around the design concept). Thanks for your help... Adam. |
Mon, Aug 24 2009 3:05 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Adam
>You have no idea! <vbg> Oh yes I do >I also think we've found the problem as to why we couldn't see the database. >We changed the configuration file's name when we first setup the >application, and forgot to change the settings in EDBmanager when we set it >up. We can now connect since we've changed this name. (In future, I think >I'll leave it set to EDBConfig by default to avoid such confusions). That would do it. Since I'm using encryption my favourite is forgetting to alter the password. >>>ElevateDB Error #1000 An error occurred with the cursor Farms (An attempt >>>was made to update a read-only cursor). >> >> Either this could refer to the physical state of the tables on disk, user >> access to the directory the tables are in or (I'm guessing) is more likely >> to be not giving users the right access level. > >By giving users the right access level, you're talking externally to EDB I >assume. (ie - Windows secuirty, etc) - and that a different error would >occur if it was user rights within EDB. I thought we had full access for the >users, but have since double-checked. (See below) I was thinking at either level, but from what you've posted that shouldn't be a problem. >There's gotta be something else we've missed, but I can't figure out what it >could be. (We're using the UNICODE version if that makes any difference? ) >We're also using EDB version 1 (not 2), so any change Tim makes to 2 isn't >going to help us much. I'm using ANSI and v2 and fileserver so almost totally different. Can you post the .ini configuration file for EDBManager so we can see if there's anything obvious there. It might also be worth downloading an evaluation version of 2 just to see. >Thanks for the offer. I'm on GMT + 10 time wise, so I'm not sure if you're >in bed when I'm awake and vise-versa. Hopefully we can get this sorted out >soon, but I appreciate the offer for skype, and might take it up if we keep >hitting a dead end. Let's hope. Roy Lambert [Team Elevate] |
Mon, Aug 24 2009 12:48 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Adam,
<< This is a TEDBTable component. As per my reply to Roy, we've checked: a) EDB Credentials. (We're using Administrator and EDBDefault to login). b) Windows Security. (Even to the point of setting FULL CONTROL for 'Everyone' and removing all other users to avoid restrictions). c) Making sure the Read Only attribute isn't set on the folder, or any subfolders. ... yet we still can't Edit the dataset. (And get the error 'cannot performt this operation on a readonly dataset' if we choose 'SET AS NULL' within the EDBManager >> Where is the table being stored, and is this XP or Vista ? << Aah - OK. Thanks. So, theorietically I could have multiple config files all over a machine (for different databases), as long as I never needed to connect to more than one database simultaneously. (Not that I would want to o this - but just to get my head around the design concept). >> You don't need multiple configuration files unless you're using different encryption settings, or the configuration files belong to different applications with different database definitions, etc. Think of the configuration file as an application configuration repository for the database engine. You can define up to 4096 databases in a single configuration file, so you could use the same configuration file for many different databases. -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Aug 25 2009 7:22 PM | Permanent Link |
"Adam H." | Good Morning Tim,
Thanks for your reply again... > << This is a TEDBTable component. As per my reply to Roy, we've checked: > > a) EDB Credentials. (We're using Administrator and EDBDefault to login). > > b) Windows Security. (Even to the point of setting FULL CONTROL for > 'Everyone' and removing all other users to avoid restrictions). > > c) Making sure the Read Only attribute isn't set on the folder, or any > subfolders. > > ... yet we still can't Edit the dataset. (And get the error 'cannot > performt this operation on a readonly dataset' if we choose 'SET AS NULL' > within the EDBManager >> > > Where is the table being stored, and is this XP or Vista ? At my clients on a XP machine. Testing it here in the office is Vista. (We have tried doing a right-click on EDBManager and chosing 'Run as Administrator', but still can't edit the data). It's got me beat as to why they're read only. Could it be that we designed and made the database on one machine (my development machine) and then copied the data directories to another machine and tried to run? (is this a no-no with EDB, or could it have caused problems with the Read Only)? Cheers Adam. |
Tue, Aug 25 2009 7:28 PM | Permanent Link |
"Adam H." | Hi Roy,
Thanks again for your reply... >>We're also using EDB version 1 (not 2), so any change Tim makes to 2 isn't >>going to help us much. > > I'm using ANSI and v2 and fileserver so almost totally different. Can you > post the .ini configuration file for EDBManager so we can see > if there's anything obvious there. It might also be worth downloading an > evaluation version of 2 just to see. Sure - have posted on the binary's newsgroups under 'EDBManager Config File for Roy'. I'd like to avoid switching over to EDB2 as a test to start with if we can help it just at the moment, but I guess if we can't find anything else wrong I may have no choice... Cheers Adam. |
Wed, Aug 26 2009 3:47 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Adam
>It's got me beat as to why they're read only. Could it be that we designed >and made the database on one machine (my development machine) and then >copied the data directories to another machine and tried to run? (is this a >no-no with EDB, or could it have caused problems with the Read Only)? That's no problem (at least with v2, non-unicode and fileserver) since its exactly what I've done. Roy Lambert [Team Elevate] |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Wednesday, June 12, 2024 at 01:54 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |