I'm still unable to get the JDBC stream to work.  I've verified that 'jdbc'
shows up in the plugin list:

http://localhost:8983/solr/col1/stream?action=PLUGINS

When using the DIH I use the jdbc driver:
org.mariadb.jdbc.Driver

With connection string:
jdbc:mysql://{{host}}:{{port}}/{{database}}

I am able to get DIH pulling data from mariadb with that connection string.

However using the same connection string in the streaming expression:
    jdbc(connection="jdbc:mysql://mariadb:3306/db",sql="select id from tbl
order by id asc limit 1", sort="id asc", driver="org.mariadb.jdbc.Driver")

I get the error:
    "EXCEPTION": "Failed to load JDBC driver for 'org.mariadb.jdbc.Driver'"

I tried upgrading jdbc connector to 3x version and using the connection
string "jdbc:mariadb://<host>:<port>/<db>" and get the same error message.





On Thu, Sep 8, 2022 at 10:16 PM Joel Bernstein <joels...@gmail.com> wrote:

> The jdbc stream was removed from the standard expression library for
> security reasons. It is still in the jars though and can be included
> through a change in the solrconfig.xml.
>
> This jira describes how to plugin an expression:
>
> https://issues.apache.org/jira/browse/SOLR-9103
>
> The class is: org.apache.solr.client.solrj.io.stream.JDBCStream
>
>
>
> Joel Bernstein
> http://joelsolr.blogspot.com/
>
>
> On Thu, Sep 8, 2022 at 6:54 PM James Greene <ja...@jamesaustingreene.com>
> wrote:
>
> > I'm on solr 8.11.1 and trying to use the 'jdbc' streaming expression as
> > documented here:
> > https://solr.apache.org/guide/8_11/stream-source-reference.html#jdbc
> >
> > When I try to run a jdbc stream expression I get the error:
> > 'function 'jdbc' is unknown (not mapped to a valid TupleStream'
> >
> > Here is an example of the expression i'm trying to run:
> > jdbc(connection="jdbc:mysql://mariadb:3306/threatquotient2",sql="select
> id
> > from data order by id asc limit 1", sort="id asc"
> > driver="org.mariadb.jdbc.Driver")
> >
> > I use the mariadb jdbc driver to get data from our mariadb instance using
> > the data import handler so the jdbc driver should be property loaded.
> >
>

Reply via email to