Can you post the stack trace from the log? It looks like the JDBCStream is registered, but the stack trace may provide some more info on why the driver didn't load.
Joel Bernstein http://joelsolr.blogspot.com/ On Fri, Sep 9, 2022 at 12:51 PM James Greene <ja...@jamesaustingreene.com> wrote: > 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. > > > > > >