Results 1 to 3 of 3
  1. #1
    Join Date
    Jul 2010
    Posts
    1

    Unanswered: Equinox database

    Hello,

    I'd like to know is some one use Equinox database.
    This database is made by Compsoft in UK.

    Indeed, I'd like to use this database to make ODBC link with my soft (data storage is mySQL) and another soft develloped with Equinox.

    So, I'm very happy if some one could help me.

    Best regards.

  2. #2
    Join Date
    Jul 2010
    Posts
    1

    Equinox ODBC

    In a nutshell there are a couple of ways to get data out of equinox, dependant on which version it is. Which is normally obtained by pressing CTRL+F1 when in the application.

    Generally it is up to the developer who created your application to create either the data export or to write an esp (like asp) page that will export data when called. ODBC is a sticky point with Equinox as other modern databases have no concept of the way in which equinox deals with its data and Compsoft decided not to create the interface initially.

    With modern versions of equinox it is possible to mirror the data in MSSQL and ORACLE databases and get at it that way.

    But once again this will need setting up by the application developer.

    If the application developer is not availabale there are a few Equinox programmers out there (not many now, we are a dying breed) who may be able to help, but there is great loyalty between developers not to tread on each others toes.

    If you are completely stuck, look thorugh the help files if it is equinox 4.1+ and pay attention to the section on "Catalogs", it is in theory possible to find out all you need about the schema of the database, then create esp pages to retrieve data. You will need to look at the rest of theprogramming language to work out how to navigate the tables.

    Because equinox does not work anything like sql you will have to use what is almost a database navigation syntax, but don't scoff it is one of the fastest (if not least flexible) ways to organise and retrieve data.

    It is strict in its methods, but extremely logical and you are almost instructing the database engine what to do directly, it would be akin to the logical steps that a sql database will turn your traditional statement into, before it executes it.

    Thanks
    Adrian

  3. #3
    Join Date
    Sep 2010
    Posts
    1
    Hello I use Equinox and come across this problem regularly with clients IT. We found the mirroring to be too inflexible for our specific needs so I was asked to write an ODBC module to push and read data from a SQL database. This allowed us to write only specific data that was required rather than mirror the whole database. However, the ODBC connection is controlled entirely on the Equinox end. It's just not possible to connect to Equinox using third party software. Indeed, this is a major selling point for Equinox when data security is paramount.

    I'll give you a brief explanation of how but you will need someone with some experience in Equinox Method language scripting to get this up and running.

    I was able to do this using the Windows odbc32.dll. Using Equinox's 'Add External Object' feature you can add the DLL's published calls to your code library. A sample of the code once generated looks like this..

    Public External "odbc32.dll" SQLConnect ulong, ReadOnly ptr stringz, short, ReadOnly ptr stringz, short, ReadOnly ptr stringz, short returns short | Connects to database
    Public External "odbc32.dll" SQLFreeConnect ulong returns short | Releases connection handle
    Public External "odbc32.dll" SQLDisconnect ulong returns short | Disconnects from database


    Once you have this you can create you standard Equinox Procedures to Connect, Disconnect, Write records, Edit Records, Read Records etc.

    Here is an example of how to connect to the SQL database...

    | connect to globally defined odbc database dsn (defined in control panel on all pcs calling this)
    PUBLIC PROCEDURE CONNECT_ODBC LOGICAL L_ERR, MEMO M_ERR
    Memo mError
    Short shReply
    Stringz sDSN, sUser, sPassword

    L_ERR = FALSE
    sDSN = PWCOdbcDSN | up to 32 chars
    sUser = PWCOdbcUsr | up to 128 chars, 32 in pw
    sPassword = PWCOdbcPass

    | Initialise
    SQLallocenv uEnvHandle, shReply
    SQLallocconnect uEnvHandle, uConnHandle, shReply
    SQLconnect uConnHandle, sDSN, SQL_NTS, sUser, Len(sUser), sPassword, Len(spassword), shReply
    IF shReply <> SQL_SUCCESS, SQL_SUCCESS_INFO THEN
    Get_Error_String 0, mError
    M_ERR = mError
    Log_Error mError
    L_ERR = TRUE
    ENDIF
    END PROCEDURE


    This is probably moving into the slightly more advanced areas of method language within the Equinox development environment. Equinox is fantastic in quickly designing and creating software and has a very gentle and intuitive learning curve. However, I find it becomes quite restrictive in some areas and requires major work around's to perform relatively basic tasks. Such as this example.

    If just getting the data out the Equinox database into SQL, Oracle, MySQL is the goal then Equinox's in build Export facility is probably easier. Then just import the generated file using software you understand into the other database.

    Adam
    Last edited by AdamBright; 09-16-10 at 07:49. Reason: further info

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •