Parameter object is improperly defined
I'm running Delphi XE, RB 18.0 build 369, MySQL 5.7, and the
Connector.ODBC 5.3.
I have a template with a lot of views over in the data tab. There are
13 links to other tables. With those links in place, I get the message
that the "Parameter object is improperly defined. Inconsistent or
incomplete information was provided" when I go to preview. Apparently,
some of these links are causing problems, as when I start removing those
links, I can eventually get it to where I stop getting that error.
Although it's distressingly inconsistent how many links I need to remove
after reloading the template before it will 'successfully' run.
So, is there some issue with too many linked tables? I apologize for
the nebulous nature of the issue - it's been a pain trying to track down
as well, and I haven't been able to rebuild the program in a way I can
intercept the queries, due to not having the ra*.pas units to rebuild
the RB units in debug.
Connector.ODBC 5.3.
I have a template with a lot of views over in the data tab. There are
13 links to other tables. With those links in place, I get the message
that the "Parameter object is improperly defined. Inconsistent or
incomplete information was provided" when I go to preview. Apparently,
some of these links are causing problems, as when I start removing those
links, I can eventually get it to where I stop getting that error.
Although it's distressingly inconsistent how many links I need to remove
after reloading the template before it will 'successfully' run.
So, is there some issue with too many linked tables? I apologize for
the nebulous nature of the issue - it's been a pain trying to track down
as well, and I haven't been able to rebuild the program in a way I can
intercept the queries, due to not having the ra*.pas units to rebuild
the RB units in debug.
This discussion has been closed.
Comments
Which Delphi library are you using to connect to your MySQL database?
In our quick research, this error appears to show itself when others use
ADO to connect to MySQL. Are you using ADO?
Are you using parameterized linking when connecting your datasets in DADE?
Are you manually editing the SQL in any way?
The ra* files are for RAP only, you do not need these files to debug
ReportBuilder. Simply set your library path to point to
\RBuilder\Source\ and rebuild your application. Then you can trace into
any other portion of the product.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Looking at the SQL tab for the link, it gets created with parameterized
linking, yes. The magic SQL option is disabled, and I'm not doing
manual SQL for it.
I'm using a custom da* unit, which uses TADOQuery.
I'll need to pull some stuff out of our program - we use some
Passthrough functions and it gets upset that we use the ra* units but
can't rebuild them. I imagine if I temporarily get rid of those
passthrough units it will be happy.
1. If Magic SQL linking is not available, the SQL is manually edited (or
has been in the past) for one of the linked datasets. This is the only
reason this option would be greyed out.
2. When you say you are using a "custom da* unit to connect via DADE, is
this something you created manually? Why are you not using the daADO
plugin included with ReportBuilder?
3. Searching the internet, this is a common error when using
parameterized linking and an ADO/MySQL combination.
One option to try is in your da* plugin, try setting the
TADOQuery.ParamCheck property to False after it has been created.
If the above does not help, we will need an example we can run here that
demonstrates the issue using the daADO plugin (unfortunately we are
unable to support custom DADE plugins).
Have you considered using a different connection suite rather than ADO
to connect to MySQL? While ADO is great for Microsoft DB's such as
Access and SQL Server, it does not appear to play well with others. We
use FireDAC extensively with MySQL with great success.
--
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
1) The two datasets involved are both built using the query builder.
And I don't believe there's a way back from having edited the SQL to
using the query builder, so I have to assume the SQL was never edited
directly. Deleting the link and recreating it, without editing it,
still has the Magic SQL option as unavailable.
2) I'll have to see what it would take to use the default daADO unit.
3) Setting the ParamCheck to false results in an error that the SQL
syntax is bad. It can't parse a ":param" element, since it's not doing
the parameter check.
Unfortunately, back in Delphi XE, there's no FireDAC.