Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Active link table questions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Active link table questions

    1) Are the active link tables created on the local workstation, or in the database folder on the server? If you're running Alpha Five on a standalone machine I think it makes no difference. But if you're running network optimized from a shadow folder on a local workstation, I'm curious. Where does the "active link table" actually exist?


    2) I see ODBC as an option that possibly could be used to create an active-link table. Might this be a way to create an active-link table from an existing native Alpha Five table? Would there be situations where this might be advisable, or would this most likely be a bad idea in almost all cases?

    Thanks.

    -- tom

    ps. I apologize if these have been covered in earlier threads. The forum's search capability seems to have been turned off.

  • #2
    Re: Active link table questions

    Originally posted by Tom Cone Jr View Post
    1) Are the active link tables created on the local workstation, or in the database folder on the server? If you're running Alpha Five on a standalone machine I think it makes no difference. But if you're running network optimized from a shadow folder on a local workstation, I'm curious. Where does the "active link table" actually exist?


    2) I see ODBC as an option that possibly could be used to create an active-link table. Might this be a way to create an active-link table from an existing native Alpha Five table? Would there be situations where this might be advisable, or would this most likely be a bad idea in almost all cases?

    .
    active-link tables are created wherever you tell a5 to create them. it is up to you.

    in a traditional dbf application, the master database on the fileserver has all of the local tables in it and then when a user on a work station uses network optimization to create a local shadow of the master database, local 'shadow' tables are created on the work station that point to the real table on the file server.

    active-links are the same. the developer will create active-link tables in the master database on the server, and then when the network optimized database is created on each user's workstation, a5 will just copy the active-link table from the master to the shadow on the user's work station.

    on the second question:
    i can't see any advantage in accessing local a5 tables as active-link tables rather than native tables. i have never tried it. in theory it might work using the Visual Fox Pro odbc driver. But if you did, you would loose long field names, all field rules and any extensions that a5 makes to the .dbf format.

    Comment


    • #3
      Re: Active link table questions

      Selwyn, thanks. That helps me understand things a bit better.

      Since the client workstations in a network optimized setting will be sharing the active link table created by the developer on the server, if one of the workstations refreshes the active link data it should be visible to the other workstations, too, right?

      Comment


      • #4
        Re: Active link table questions

        Originally posted by Tom Cone Jr View Post
        Selwyn, thanks. That helps me understand things a bit better.

        Since the client workstations in a network optimized setting will be sharing the active link table created by the developer on the server, if one of the workstations refreshes the active link data it should be visible to the other workstations, too, right?
        no.

        each user who opens the active link table gets to see a 'live' snapshot of the server data.

        i say 'live' snapshot becase before editing any field in the table, that row is automatically refreshed.

        but if two different users are looking at an active-link table that is based on say a customer table and both are looking at the record for customerid = 'abcd' which happens to have a customername of 'alpha software'.

        if some other user (using some totally different product for example, or using a5 - does not matter) updates the record on ther server and changes the company name to 'gamma software', ***neither*** of the a5 users who have open active-link tables will see the change until:

        1. user 1 presses the F5 key - that will refresh the CURRENT row in the open active-link, or
        2. user 1 presses Shift+F5 - refresh all rows in the currently open active-link table, or
        3. start editing a field in that row of the active-link table - which automatically does a refresh of that row.

        However, none of the above 3 actions has ANY effect on user 2's view of the data. His already open active-link table will not reflect any changes make by other users until one of the above 3 things happes in HIS open active link table.

        Comment


        • #5
          Re: Active link table questions

          From the sounds of this discussion and the discussion brought forward by Anis Fakhoury it sounds like if you are gonna have multiple individuals working in the same active link table you will need to perform a table refresh periodically throughout the day. Otherwise you may be working on old records and not seeing the most recent records.

          Not being in a position to test it, what is the performance hit like for performing a refresh of the active link tables? Of course it will depend upon table size and network conditions, but in an ideal situation is a refresh of an active link table something that can occur while the user is working? Or does the user need to stop work and wait for the refresh to complete?

          My only experience in this area is in regards to how QReportBuilder grabs its data from the QuickBooks database. Depending on size of the database the import process may need to run several hours.
          Andrew

          Comment


          • #6
            Re: Active link table questions

            Originally posted by aschone View Post
            From the sounds of this discussion and the discussion brought forward by Anis Fakhoury it sounds like if you are gonna have multiple individuals working in the same active link table you will need to perform a table refresh periodically throughout the day. Otherwise you may be working on old records and not seeing the most recent records..
            I was under the impression that when you open a record, you always get the up to date version... that SEEMS to be the case with my test browses at any rate...

            Comment


            • #7
              Re: Active link table questions

              Originally posted by NoeticCC View Post
              I was under the impression that when you open a record, you always get the up to date version... that SEEMS to be the case with my test browses at any rate...

              not sure what 'open a record' means.

              if you mean 'open a table' then yes, you get up to date data.

              once the active-link table cache is populated, however, a record in the cache is only refreshed when a refresh command on that record is executed, or when the record is edited (which causes an automatic refresh).

              this should not be construed as a 'limitation' however. its how all products work. it is how the enterprise manager for sql server works. it is how access works, etc.

              Comment


              • #8
                Re: Active link table questions

                Originally posted by Selwyn Rabins View Post
                not sure what 'open a record' means.

                if you mean 'open a table' then yes, you get up to date data.
                Yes that is what I mean, e.g. you open a browse or a form that pulls data from the active link table... and thus open a record/row in that table.

                I get the impression some posters in this thread seem to think the whole table is only refreshed when you open an application/database and then not again until you close and re-open it :)

                Comment


                • #9
                  Re: Active link table questions

                  Am I right, then, in my thinking that to take advantage of optimistic record locking a developer would have to use a non .dbf table format such as MySQL?

                  Comment


                  • #10
                    Re: Active link table questions

                    Originally posted by Bob Arbuthnot View Post
                    Am I right, then, in my thinking that to take advantage of optimistic record locking a developer would have to use a non .dbf table format such as MySQL?
                    yes. native tables use pessimistic locking and active-link tables use optimistic record locking.

                    however, it should be noted that an active link table can be configured (if you want) to not use optimistic record locking. if you edit the active-link definition, and you change the UPDATE statement's WHERE clause from

                    'primary key and updateable fields'

                    to

                    'primary key only'


                    then you have effectively turned off optimistic record locking for that particular active link table.

                    Comment


                    • #11
                      Re: Active link table questions

                      Just a suggestion: Some of the questions and answers here would make a very good FAQ for active link tables in the new help file (and maybe reduce the number of future forum entries!).

                      Ray

                      Comment


                      • #12
                        Re: Active link table questions

                        Originally posted by aschone View Post
                        My only experience in this area is in regards to how QReportBuilder grabs its data from the QuickBooks database. Depending on size of the database the import process may need to run several hours.
                        you can't compare quickbooks and a real sql database.
                        a real sql database is hundreds, if not thousands of time faster than quickbooks.

                        so, opening an active-link table on a sql database table will be substantially faster than anything done against quickbooks.

                        Comment


                        • #13
                          Re: Active link table questions

                          Originally posted by Selwyn Rabins View Post
                          once the active-link table cache is populated, however, a record in the cache is only refreshed when a refresh command on that record is executed, or when the record is edited (which causes an automatic refresh).

                          this should not be construed as a 'limitation' however. its how all products work. it is how the enterprise manager for sql server works. it is how access works, etc.
                          I guess that is why I never found "find by key" in Access! ;) Those of us without much SQL experience need to get right with proper techniques for accessing data in active link tables. I look forward to more discussions like this, with best practice techniques. (OK, OK, I could take a SQL class.)

                          Bill.

                          Comment


                          • #14
                            Re: Active link table questions

                            Originally posted by Bill Parker View Post
                            I guess that is why I never found "find by key" in Access! ;) Those of us without much SQL experience need to get right with proper techniques for accessing data in active link tables. I look forward to more discussions like this, with best practice techniques. (OK, OK, I could take a SQL class.)
                            I bought Mysql for Beginners off of Amazon for 49 cents ( 3.99 shipping).
                            Tommy Thompson
                            Thompson Consulting Services
                            Beautiful Kentucky Lake, Springville, TN 38256
                            tommy@btthompson.com

                            Comment


                            • #15
                              Re: Active link table questions

                              I suggest that now that active-link tables are in the play it would be very helpful to open a new discusion board exclusively for SQL->Alpha related questions.
                              Cheers
                              Mauricio

                              Comment

                              Working...
                              X