Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
6 replies
Subscribers
6 subscribers
Views
2439 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Process
Hi, I'm currently fixing a bug in an older legacy system of ours.
arpitg
over 11 years ago
Hi,
I'm currently fixing a bug in an older legacy system of ours. As part of it's operation, this process relies on using ACPs as part of a query to the DB to limit the amount of results. Here's the query:
SELECT DISTINCT ID
FROM a
Limit ac!startRow, ac!endRow
Now, if I open that node and then try to save it (by clicking "ok") it returns me this error:
The database returned ARV's that may not be supported. Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \\'\\'\\', \\'\\'\\' at line 4
I've tried using three version of the connector, in case it was a JDBC bug, but no go. Does anyone have any idea how I can resolve this?...
OriginalPostID-87122
OriginalPostID-87122
Discussion posts and replies are publicly visible
0
Eduardo Fuentes
Appian Employee
over 11 years ago
Take a look at my first comment on
forum.appian.com/.../e-79038
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
arpitg
over 11 years ago
Hi Eduardo,
I've tried using both the newest version of the connector, and the version you listed in that comment, and neither solved this issue.
I don't want to rewrite the entire process to overcome this issue, as this would require significant regression testing effort.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 11 years ago
Basically what happens is that the driver you are using is now more strict in following what the documentation of MySQL states: the LIMIT function only accepts one or two numeric constants. In the case of this model the query is:
SELECT DISTINCT ID FROM a Limit ac!startRow, ac!endRow
which when subject to validation translates into:
SELECT DISTINCT ID FROM a Limit '', ''
since at validation time the acp's haven't been populated yet. This is invalid as both parameters are empty strings, not a number, thus the error: ".... for the right syntax to use near \\'\\'\\', \\'\\'\\' at line 4
Here's the driver I have been able to use the acp's and limit with:
forum.appian.com/.../112416
remember that a driver change requires a restart of the application server
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
vineeta6579
over 10 years ago
I am on 7.5 version when I changed jar and its reference. I started getting below error
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.jdbc2.optional.Mysql
XADataSource from [Module "com.mysql.jdbc:main" from local module loader @52bd6f
9e (finder: local module finder @12eb1882 (roots: C:\\appian\\bin\\jboss\\jboss-eap-
6.2\\modules,C:\\appian\\bin\\jboss\\jboss-eap-6.2\\modules\\system\\layers\\base))]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:
197) [jboss-modules.jar:1.3.0.Final-redhat-2]
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 10 years ago
forum.appian.com/.../e-113905
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Patty Isecke
Appian Employee
over 10 years ago
Try this:
1. standalone.xml
Update your driver definition FROM
<driver name="com.mysql.jdbc" module="com.mysql.jdbc">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
TO
<driver name="com.mysql.jdbc" module="com.mysql.jdbc" optional="true">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>
2. Appian-ds.xml
Update the follow lines for your secondary datasource FROM
<xa-datasource-property name="serverName">dbserver</xa-datasource-property>
<xa-datasource-property name="portNumber">3306</xa-datasource-property>
<xa-datasource-property name="databaseName">secondarydb</xa-datasource-property>
TO
<xa-datasource-property name="URL">jdbc:mysql://dbserver:3306/secondarydb?useOldAliasMetadataBehavior=true&useServerPrepStmts=true</xa-datasource-property>
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel