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

What to use? MySQL, SQLite or SQL Server

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

    What to use? MySQL, SQLite or SQL Server

    I am designing an application and will use Zebra web hosting with Alpha Anywhere. It has been recommended that I use SQL format and I don't understand why I need SQL software when Alpha Anywhere has built in drivers. The software for MySQL and SQLite can be obtained free but the software for SQL Server can be expensive. SQLite seems to be used by a number of popular developers including Firefox. Firefox also has an add-on called SQLite Manager (What ever that does). So I'm hoping to get a better understanding of what to do.
    Thank you.

    Dick

    #2
    Re: What to use? MySQL, SQLite or SQL Server

    Dick,

    If you haven't been using a real database (RDBMS) then the choice can seem difficult. Insofar as I use a whack of databases regularly, here's a couple of thoughts:

    First, a recommendation:
    • Build two or three tables initially using the flat-file database format (DBF).
    • The DBF format is from a now-defunct desktop database named "D-Base III".
    • This format was also used by a number of other unrelated databases (e.g. FoxPro)... so it is common and there are a lot of supporting tools
    • Do this simply to get familiar with creating a "connection string" and referring to the tables from within your app (desktop or mobile)
    • But... you likely don't want to build too many DBF tables. Why? Because later, when you might want to use a proper DBMS there can be quite a number of errors in "upgrading" from DBF to any proper database.
    • Why might you ever upgrade to an RDBMS? Why not use DBF forever? For one thing, DBF files can't handle geographic data. And it's really easy and very powerful to include google maps in your desktop or mobile applications. You can use latitude and longitude as separate fields even in a DBF file, but you need a "geo" field in order to really useful stuff like radius calculations ("show me all the locations within this radius").
    • So... it's good to build a few DBF files because they are quick and easy and help get your head around your data fields.
    • But then you should take a breath and move to a proper database.
    • Recommendation: either "MySQL" or "MariaDB".
      • MySQL is open source... but it is still "owned" by Oracle (acquired when they bought Sun Microsystems).
      • MySQL is everywhere... including ZebraHost.
      • But... because Oracle is generally evil (my opinion) and more importantly hasn't been performing updates on MySQL as often as the community expects, many companies are moving to MariaDB (including Google for many applications behind the scenes).
      • MariaDB was formed by the same guy who started/invented MySQL but it is back to the open source roots MySQL was initially founded on.
      • The "LAMP" stack (linux, apache, mysql/mariaDB, Perl/PHP" is probably the most common web-app development suite in the marketplace... and it's all free!



    Other options include:
    • Microsoft SQL Server: well supported, great if a company/client is all-Microsoft-all-the-time... but can be expensive as it is commercial grade and requires a license
    • Microsoft SQL Server Express: similar to "SQL Server" but thinned out a bit. Operates largely the same as true SQL Server so it's a good development platform if you eventually plan to go to SQL Server for a client or for yourself. And... it's also free.
    • SQLlite: been around for a while and exists as a separate/standalone DB for many mobile platforms... and can be built-in to your app.
    • Oracle: good for large commercial, highly scalable, and ridiculously expensive environments.
    • and... that's just the short list!



    Them's be my quick thoughts. Grain of salt added.

    Comment


      #3
      Re: What to use? MySQL, SQLite or SQL Server

      Thanks for the reply but I don't understand why I need SQL software when Alpha Anywhere has built in drivers. Can this question be answered simply. Thanks for your recommendations.

      Comment


        #4
        Re: What to use? MySQL, SQLite or SQL Server

        Alpha has the drivers to CONECT to SQL databases. You still need the database motor.

        Comment


          #5
          Re: What to use? MySQL, SQLite or SQL Server

          Roger,
          What does the database motor do; how do I use it; what are the Alpha functions for? Zebra Host will set up SQL when I set up the service. So what am I missing?
          Dick

          Comment


            #6
            Re: What to use? MySQL, SQLite or SQL Server

            The motor stores and retrieves the actual data. Alpha5 takes care of the user interface.

            Comment


              #7
              Re: What to use? MySQL, SQLite or SQL Server

              So in other words I need SQL installed on my computer to do a working preview, etc.

              Comment


                #8
                Re: What to use? MySQL, SQLite or SQL Server

                Not necesarly in your computer.
                Any network accessible computer will do.

                Comment


                  #9
                  Re: What to use? MySQL, SQLite or SQL Server

                  Dick,

                  Your application will require three things to operate:
                  • [1] Your application (AlphaFive, C#, PERL... whatever)
                  • [2] A "database engine" (the thing manages tables, stores info, and retrieves info... the real worker)
                  • [3] A "database driver" to provide communications between your APPLICATION and your DATABASE.



                  You can write your application in virtually any language (from Excel to "C" to AlphaFive).

                  You can choose to use almost any database (individual-DBF-files, MySQL, SQLserver, Oracle, etc).

                  But... your APP will only be able to speak in the language of your desired database if you have a "database driver". Think of the driver as a Star Trek Language Translator. It's small, doesn't do any of the work, but does allow you to communicate with the database that does in fact do the heavy lifting.

                  Why does this matter? Because your app (or many apps at least) may need to work with a DBF file one minute, a SQL Server database the next, and then an Oracle database after that. By simply redirecting your app to point at different databases you can access different data.

                  But... each time you do, you need to pick the appropriate communication method (driver).

                  The other term you will need to learn is "connection string". A connection string contains all the information your app needs to find a database, choose a driver, and start doing work. The connection string notes which driver is to be used, your app goes and finds it, and then your app/driver/database all work together.

                  Alpha Five will build and test your connection strings for you (AlphaDAO connection strings). It's an option off of one of your "tools" menus.


                  I think that before you try to make sense of applications, drivers, connection-strings, and databases, you need to spend 30 minutes doing a bit of initial self-education via YouTube.

                  Here's a beginning:

                  Comment


                    #10
                    Re: What to use? MySQL, SQLite or SQL Server

                    I should note also that you need to be careful in your use of the term "SQL".

                    The term means:
                    Structured Query Language


                    This is the language used by you and your application to get data or save data in a database.

                    Not all SQL languages are the same. There are slight variations depending on which database you choose to use. Think of it like the variations between British, Canadian, Northern U.S. and Southern U.S. forms of English. It's basically the same language but there can be small and annoying variations.

                    So a generic "SQL database" is simply one that responds to a form of SQL. This includes Oracle, MySQL, MariaDB, and SQL Server.

                    Finally, a LOT of people mistakenly use the simple word "SQL" when what they mean is "Microsoft SQL Server Database".

                    So you might want to use these terms for clarity in your posts and in your conversation:

                    SQL language

                    a SQL-compliant database

                    Microsoft SQL Server


                    Finally, the thing you need to do is:
                    1. Install a SQL-compiant database on your laptop (e.g., MySQL)
                    2. Tell AlphaFive how to find and talk to the database by creating a "connection string"
                    3. Create a table in the database (which Alpha will "see" via the connection string)
                    4. and finally... do something with the tabel in a GRID or in a UX-component "LIST"

                    Comment


                      #11
                      Re: What to use? MySQL, SQLite or SQL Server

                      Originally posted by rnoguera View Post
                      Not necesarly in your computer.
                      Any network accessible computer will do.
                      But if I'm developing on a desktop not on a network then I need SQL installed on my computer to do a working preview, etc.

                      Comment


                        #12
                        Re: What to use? MySQL, SQLite or SQL Server

                        Yes, then you need to install a SQL-compliant database on your local computer.

                        And then build a table in that database (or build a DBF in AlphaFive and use the "upsize genie" to move/convert it to your actual database). Or use one of thousand "table creation tutorial" scripts on the net to create a dummy table.

                        Then you need to build a connection string in AlphaFive to connect to it (even though it is on your own computer).

                        Seems like a pain... but this is the way all databases work.

                        Comment


                          #13
                          Re: What to use? MySQL, SQLite or SQL Server

                          Allan,

                          Quoting you:

                          So you might want to use these terms for clarity in your posts and in your conversation:


                          SQL language

                          a SQL-compliant database

                          Microsoft SQL Server


                          Finally, the thing you need to do is:

                          1. Install a SQL-compiant database on your laptop (e.g., MySQL)
                          2. Tell AlphaFive how to find and talk to the database by creating a "connection string"
                          3. Create a table in the database (which Alpha will "see" via the connection string)
                          4. and finally... do something with the tabel in a GRID or in a UX-component "LIST"

                          Thank you for the above information

                          Dick

                          Comment


                            #14
                            Re: What to use? MySQL, SQLite or SQL Server

                            When I move my application to a web hosting service do I have to find the tables in the SQL-compliant database and move them to the web hosting service? Then make new "connection strings" to the web hosting service SQL-compliant database?

                            Comment


                              #15
                              Re: What to use? MySQL, SQLite or SQL Server

                              Originally posted by Dick Anderson View Post
                              When I move my application to a web hosting service do I have to find the tables in the SQL-compliant database and move them to the web hosting service? Then make new "connection strings" to the web hosting service SQL-compliant database?
                              You don't have to find them, but you do have to copy them to the new location. Navicat is great for this (about $200). But there are other ways to do this.

                              In Alpha you define an alias for your connection string and you have two (or possibly more) definitions for any given alias - one for your local machine and the other for the server.
                              Peter
                              AlphaBase Solutions, LLC

                              [email protected]
                              https://www.alphabasesolutions.com


                              Comment

                              Working...
                              X