You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@manifoldcf.apache.org by "Karl Wright (JIRA)" <ji...@apache.org> on 2014/09/16 15:29:34 UTC
[jira] [Comment Edited] (CONNECTORS-1032) Can't crawl MySQL
database tables
[ https://issues.apache.org/jira/browse/CONNECTORS-1032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14135419#comment-14135419 ]
Karl Wright edited comment on CONNECTORS-1032 at 9/16/14 1:29 PM:
------------------------------------------------------------------
Ok, that's not useful then. I still suspect, though, that the problem is that your MySQL database is in a mode that makes its return columns not be recognizable. Let's see whether this is true.
In the file connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java, around line 282, you should see:
{code}
IDynamicResultRow row = idSet.getNextRow();
if (row == null)
break;
try
{
Object o = row.getValue(JDBCConstants.idReturnColumnName);
...
{code}
Can you change that to:
{code}
IDynamicResultRow row = idSet.getNextRow();
if (row == null)
break;
try
{
System.out.println("Columns returned:");
Iterator<String> debugiter = row.getColumns();
while (debugiter.hasNext())
{
System.out.println(" " + debugIter.next());
}
Object o = row.getValue(JDBCConstants.idReturnColumnName);
{code}
Please rebuild, restart, and send me the output from standard out. Thanks!
Karl
was (Author: kwright@metacarta.com):
Ok, that's not useful then. I still suspect, though, that the problem is that your MySQL database is in a mode that makes its return columns not be recognizable. Let's see whether this is true.
In the file connectors/jdbc/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/jdbc/JDBCConnector.java, around line 282, you should see:
{code}
IDynamicResultRow row = idSet.getNextRow();
if (row == null)
break;
try
{
Object o = row.getValue(JDBCConstants.idReturnColumnName);
...
{code}
Can you change that to:
IDynamicResultRow row = idSet.getNextRow();
if (row == null)
break;
try
{
System.out.println("Columns returned:");
Iterator<String> debugiter = row.getColumns();
while (debugiter.hasNext())
{
System.out.println(" " + debugIter.next());
}
Object o = row.getValue(JDBCConstants.idReturnColumnName);
{code}
Please rebuild, restart, and send me the output from standard out. Thanks!
Karl
> Can't crawl MySQL database tables
> ---------------------------------
>
> Key: CONNECTORS-1032
> URL: https://issues.apache.org/jira/browse/CONNECTORS-1032
> Project: ManifoldCF
> Issue Type: Bug
> Components: JDBC connector
> Reporter: Karl Wright
> Assignee: Karl Wright
>
> Against some indeterminate version of MySQL, the seeding query:
> {code}
> SELECT command_id AS $(IDCOLUMN) FROM icinga_commands
> {code}
> ... produces the following:
> Error: Bad seed query; doesn't return $(IDCOLUMN) column. Try using quotes around $(IDCOLUMN) variable, e.g. "$(IDCOLUMN)".
> So does:
> {code}
> SELECT command_id AS "$(IDCOLUMN)" FROM icinga_commands
> {code}
> The first level of diagnosis will be to determine what column names are in fact being returned. IDynamicResultRow has the following method:
> {code}
> public Iterator<String> getColumns();
> {code}
> ... which we will need to use to get at the column names.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)