Page 1 of 1

ads an advantage data dictionary ?

Posted: Thu Feb 02, 2012 1:26 pm
by Ruben Fernandez
First of all, sorry for my bad english.

Could someone help me to use ads with file.add in local mode.
How to create it?, how to use it?

Thank you very much.

Best regards, Ruben Fernandez.

Re: ads an advantage data dictionary ?

Posted: Thu Feb 02, 2012 9:18 pm
by Marcelo Via Giglio
Hola Ruben

First you can create Advantage Data Dictionary with ARC (utility from Sybase fro manage ADS database, DBF,CDX,NTX,ADT...)
then the follow can show you a simple sample to connect to the ADD

Code: Select all

#include "fivewin.ch"
#include "ads.ch"
#include "xbrowse.ch"

function main()

   RddRegister( "ADS", 1 )
   rddsetdefault( "ADS" )

   AdsSetServerType( ADS_LOCAL_SERVER )
   adsConnect60( "testadd.add", 1, "ADSSYS", "" )

   use test new 

   xBrowse()

   DBCLOSEALL()
   ADSDISCONNECT()

return nil
 
In this case de ADD "testadd.add" has defined a test adt table, then you can use the alias 'test' like always,

I hope this can be help for you

regards

Marcelo

Re: ads an advantage data dictionary ?

Posted: Fri Feb 03, 2012 11:36 am
by Ruben Fernandez
Marcelo, thank you very much.

I'll try.

Best regards
Ruben Fernandez.

Re: ads an advantage data dictionary ?

Posted: Sat Feb 04, 2012 6:57 pm
by reinaldocrespo
Hi.

Marcelo's approach is the most common and you will probably enjoy using ARC. As an alternative, here is some code to create the DD rather than by using Arc. One of the advantages of creating the DD with code is that you can actually deliver you app and let it create the DD as well as tables, indexes, triggers, RI rules, etc.. from an installation program. Such app could be tailored to create, as well as maintain, any DD object ( such as tables, triggers, indexes, RI Rules, Functions, stored procedures...) as needed. Here is the code to create the DD using ACE functions fro x/harbour:

Code: Select all

#include "ads.ch"
//------------------------------------------------------------------------------
METHOD createNewDD() CLASS MpAdmin

   if !AdsConnect60( ::xRDDPath, ::nAdsServerType, "ADSSYS" )
      ADSDDCREATE( ::xRddPath,, "mp9 system data dictionary" )
   Endif

   AdsDDSetDatabaseProperty( ADS_DD_ENABLE_INTERNET, .t. )
   AdsDDSetDatabaseProperty( ADS_DD_INTERNET_SECURITY_LEVEL, ADS_DD_LEVEL_2 )

   //Adssys is the administrator user.
   AdsDDCreateUser( , "AdsSys", "mp9", "System Administrator" )

   //create a few default users -perhaps?
   AdsDDCreateUser( , "x12", "mp9", "x12 document users" )
   AdsDDCreateUser( , "MpRecs9", "mp9", "Admissions and Records users" )
   AdsDDCreateUser( , "Mpbill9", "mp9", "Billing users" )
   AdsDDCreateUser( , "TriageUser", "Triage9", "Triage App users" )
   AdsDDCreateUser( , "MpPharm9", "mp9", "Nutritional dept users" )
   AdsDDCreateUser( , "mpdiet9", "mp9", "Nutritional dept users" )
   AdsDDCreateUser( , "MpLab9", "mp9", "Billing users" )
   AdsDDCreateUser( , "MpOrders9", "mp9", "Floor Orders users" )
   AdsDDCreateUser( , "hl7service", "hl7", "HL7 charges over tcp server service" )
   AdsDDCreateUser( , "adtservice", "adt", "ADT over tcp client service" )
   AdsDDCreateUser( , "cashier", "mp9", "MpCashier App users" )
   AdsDDCreateUser( , "AutoReg_User", "mp9", "ER Patient Autoregister App Users" )

   //set adssys password
   AdsDDSetDatabaseProperty( ADS_DD_ADMIN_PASSWORD, "mp9" )

   AdsDDSetDatabaseProperty( ADS_DD_LOG_IN_REQUIRED, .t. ) // this disables anonymous connections

   // set ADS_DD_VERIFY_ACCESS_RIGHTS to .f. to allow all users to
   // have all access rights.  Set to .t. to enforce group and user rights, thus 
   //incrementing the level of security -(I recommend it).
   AdsDDSetDatabaseProperty( ADS_DD_VERIFY_ACCESS_RIGHTS, .T. )

Return Nil
 
It might also be a good idea to create the tables with code and to include them in the dd. You can do this using the create table sql statement. It is all very well documented on the help files.

Hope that helps,


Reinaldo.

Re: ads an advantage data dictionary ?

Posted: Sun Feb 05, 2012 11:20 am
by Ruben Fernandez
Reinaldo:
Thank you very much. I'm a new user of ADS, so, all information, and sugestions are welcome.

Thank you.

Best regards

Ruben Fernandez.