DADE for Advantage Database Server, (dictionary, ADT files)
Who can help me with a woking DADE for Advantage Database Server, dictionary
based and ADT files.
I have a DADE, which can generate tables, fields and joins at designtime.
But there are some problems. Effectively using this data is impossible.
Reports which are using this DADE give an errormessage( cannot open dataset)
at preview time.
during runtime it crashes.
Ad Franse
based and ADT files.
I have a DADE, which can generate tables, fields and joins at designtime.
But there are some problems. Effectively using this data is impossible.
Reports which are using this DADE give an errormessage( cannot open dataset)
at preview time.
during runtime it crashes.
Ad Franse
This discussion has been closed.
Comments
Can you run our example Advantage end user application? It is located in
your installation in the RBuilder\Demos\EndUserDatabases\Advantage\Native
directory. Use the example tables that are provided in the demo directory
for the report explorer and data dictionary tables. You can also try
disconnecting the data dictionary to simplify the application to see if the
data dictionary tables need to be repopulated.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
I reinstalled RB 7 enterprise on Delphi 7, I am using ADS Tdataset
descendant for ads 6.2 (ace 6.20)
after that I copied rbads77.* and daads.pas to c:\program
files\borland\delphi7\rbuilder\lib
compiled the rbads77 package
I rebuild $(RBUILDER)\demos\4. enduser databases\advantage\1.
native\enduser.exe
From the IDE I double clicked the datadictionary icon, and with right-mouse
I have choosen 'synchronize' (on the tables tab).
No table information appeared.
I know that this is not ok. But what's wrong in the above scenario.
Besides that, I need to use RBuilder in ADS, where I have an ADS-dictionary.
During IDE that worked (but with the reinstall I lost my changes......)
Ad Franse
entries for data that do not exist in the database anymore.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
dictionary
I have a modified daAds file that will allow you to connect to a ADS data
dictionary that I can send you. It works if you pass it the name of a
dictionary connection from your application, but I have not yet had time to
figure out why the daAds that ships with RB7 won't work pulling from an ADS
dictionary defined in the ADS.INI.
Let me know if you want a copy of it.
--
---------------------------------------
Terry Swiers
Millennium Software, LLC
http://www.1000years.com
http://www.atrex.com
Atrex Inventory Control/POS -
Big business features without spending big business bucks!
---------------------------------------
dictionary table names using the Ads.ini file. Place a breakpoint in
TdaADSSession.GetTableNames to see if it isn't getting inside that code to
get the table names from the Advantage data dictionary. Perhaps
IsDictionaryConn is set to false on the connection object?
Cheers,
Jim Bennett
Digital Metaphors
"Terry Swiers - Millennium Software, LLC" wrote
http://www.digital-metaphors.com
info@digital-metaphors.com
synchronizing is NO PROBLEM.
I already had some wonderful help from Chris Cole of tallonsoftware, That
helped a lot, but not all.
But once I choose for preview (so I have to really access the data), then I
get error messages.
It looks as the wrong path goes to the ADS-server (I have given a unc-
connectpath, but the ADS errorlog gives an driveletter). Will investigate
this further tomorrow.
Ad Franse
Tracing the problem with FILEMON (www.sysinternals.com) shows me that the
full path that is used has the dictionaryname in it:
ADS.INI
[Databases]
tmstestsysteem=d:\tmsdata\tmstestsysteem\TMStestsysteem.add;D
With FILEMON I see that files
d:\tmsdata\tmstestsysteem\TMStestsysteem.add\*.adt are accessed.
The *.adt files are in the d:\tmsdata\tmstestsysteem\ directory.
Where and why is is the dictionary-name appended to the real path
specification ?
Please remember that because one of the dictionary files is
d:\tmsdata\tmstestsysteem\TMStestsysteem.add that name cannot be used as a
directory name.
Ad Franse
It does not.
I had sent twice to your support department a corrected daAds.pas file a
while back (when Advantage first released 6.0, thus their dictionary
support).
The new one in version 7 still doesn't get us a table list. I had to make
modifications to it again. It just doesn't have any support for determining
if the database is a Dictionary or a standard table.
And regarding the IsDictionaryConnection property, that is not something the
developer can set. It's a read only that is set by Advantage based on the
database the connection is opening.
ALSO- The new version of Advantage has a new feature called Links.
Essentially it allows one dictionary to link to other dictionaries. This
doesn't work with RB because Advantage only allows the links to be accessed
via TadsQuerys (no Table Support). And since RB gets field names from
tables via (ooh now I forget where now) a non Query, this process fails. It
is actually TdaMetaData.GetFieldsFromDataSet.
I've spoken with Advantage regarding the problem and they are hopefully will
be in contact with DM to discuss the problem. Links were a great addition
to Advantage, but there are some issues now in using with with RB (which of
course I could never ever live without).
Chris
when using ADS, the server accesses files 'locally', it don't uses the UNC path literally passed from the client. The UNC path will be translated by the server, therefore you'll never see any UNC entries in 'ads_err.dbf'.
regards,
Chris Ueberall;
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
sorry that you replied on my first message of the wrong filespec. First I
was thinking that the tables were searched on the wrong drive, in the second
message I corrected this hypothesis. I am sure that the program searches on
the wrong location. To be precise The actual location + the dictionary name
appended to it and that is incorrect. I cannot decipher where to correct the
code to correct for this situation.
let me recapitulate:
ADS.INI
[Databases]
tmstestsysteem=d:\tmsdata\tmstestsysteem\TMStestsysteem.add;D
When I access the *.adt files from the rbuilder with daads, (I use an ADS
dictionary, with *.adt files) the files are accessed at:
d:\tmsdata\tmstestsysteem\TMStestsysteem.add\*.adt
Note that the ADS-DICTIONARY-name is within the path!
Where and why is is the dictionary-name appended to the real path
specification ?
Ad Franse
I solved the problem temporarily. In the enduser example the database is
called euDatabase. The advantage database that I wanted to use was
tmstestsysteem
ads.ini
tmstestsysteem=\\afaws14\tmsdata\tmstestsysteem\tmstestsysteem.add;D
When TADSconnection.aliasname = tmstestsysteem
and TADSconnection.name = tmstestsysteem
it works!!!!
Note that TADSconnection.name has been changed from euDatabase into the
aliasname.
As far as I can go into this code, the problems have to do with :
function TdaADSSession.IsNamedDatabase(const aDatabaseName: String;
aDatabase: TComponent): Boolean;
and
class function TdaADSSession.GetDefaultADSConnection: TADSConnection;
I hope, that someone solves this stuff. Would you please be so kind to
include this information into the daads.pas code or in a readme file that is
distributed with RB?
The problem is, that during data-access the wrong directory is given for the
database files (database-name is within the path).
I am sure I am not the only one having this problem.
I would like that there is a single place where all this dades are
downloadable.
eg
DADE-software
RB6
advantage6.20
RB7
advantage6.11
advantage6.20
Ad Franse
I replied to the e-mail you sent me directly with the correct file.
I actually sent you a file that we got from someone else. I had like 5
versions of that darn file and I sent you one we got from Terry Swiers that
he got working. His fix was right along the same lines as what we have, but
I remember him mentioning some limitations because he had only needed it to
work a particular way (Terry pipe in here if I'm incorrect).
The file I correct supports Advantage Dictionaries AND free tables and has
the code built in it already to support the new Advantage Links function
added in 6.2. The links function at the moment will not work until
Advantage and RB find a way to correct an issue with getting field names
from linked dictionaries. I'm told that the two companies are working on
correcting it, or will be soon.
If anyone uses Advantage and wants the fix, please e-mail me and I'll send
it off to you. On our website we have the older fix prior to Delphi 7 / RB
7 still up there. I haven't had time to put this one up.
Regards,
Chris
that
but
to
Quite correct. The limitation was that it would only work if the report was
created against an open database connection from within the application. I
had not had the time to delve into the plugin to determine why it wouldn't
work when attempting to report against a database alias.
Since I didn't want the end user to be able to change the connection
information, this was sufficient for what I needed.
--
---------------------------------------
Terry Swiers
Millennium Software, LLC
http://www.1000years.com
http://www.atrex.com
Atrex Inventory Control/POS -
Big business features without spending big business bucks!
Atrex Electronic Support Options:
Atrex Knowledgebase: http://www.atrex.com/atrexkb.cfm
Email: mailto:support@atrex.com