Nevermind... found to import org.apache.camel.component.sql.SqlComponent On Tuesday, July 31, 2018, 1:27:58 PM EDT, John F. Berry <[email protected]> wrote:
Also, in compiling in maven, it doesn't find "SQLComponent". Isn't that part of camel-sql? or am I configuring a different entity? On Tuesday, July 31, 2018, 12:29:49 PM EDT, John F. Berry <[email protected]> wrote: Sorry, that was a bit of an incomplete thought: In another java IDE that came with a product of ours we use this driver: com.microsoft.sqlserver.jdbc.SQLServerDriver as well as this URI: jdbc:sqlserver://blablabla:52739;databaseName=dbName; So what is the choice of using a "derby" driver? I cannot find a writeup about it. On Tuesday, July 31, 2018, 12:17:09 PM EDT, John F. Berry <[email protected]> wrote: Thanks again Quinn, What is the "derby" element in this solution? I can't seem to find information in this in my searches. I'm trying to analyze the parameter string in the .setURL line and the values within. On Tuesday, July 31, 2018, 10:55:42 AM EDT, Quinn Stevenson <[email protected]> wrote: Forgot to mention to make sure that when you use this component, use the component name that you register it with - in this example I used “my-sql”. > On Jul 31, 2018, at 8:49 AM, Quinn Stevenson <[email protected]> > wrote: > > There’s a few ways to go about this, but I’d probably start out with doing it > in the configure method of the RouteBuilder - something like the following > (note - I didn’t test this so I don’t even know if it compiles). > > @Override > public void configure() throws Exception { > BasicDataSource basicDataSource = new BasicDataSource(); > basicDataSource.setDriverClassName("org.apache.derby.jdbc.EmbeddedDriver"); > basicDataSource.setUrl("jdbc:derby:memory:orders;create=true"); > basicDataSource.setUsername(""); > basicDataSource.setPassword(""); > > SqlComponent sqlComponent = new SqlComponent(); > sqlComponent.setDataSource(basicDataSource); > > getContext().addComponent("my-sql", sqlComponent); > > from() > ... > } > HTH > >> On Jul 30, 2018, at 9:45 AM, John F. Berry <[email protected] >> <mailto:[email protected]>> wrote: >> >> Thanks Quinn for the helping hand. >> >> I've been looking for examples of how to declare the servername/instance >> name, username password to utilize a MS SQL endpoint. Looking at the Apache >> Camel: SQL Component page, it shows utilizing the declared object like >> "mydbconnection" that is the named DataSource option, and shows all on what >> you can throw through that connection... except seems to skip over how to >> specify connection criteria. It does reference the DataSource option as a >> pointer to look up in the "registry" but I don't know if that is an >> inherited existing entity it's talking about or the need to declare a new >> registry and import a form of camel registry or something. The only >> examples where I've seen servername, un/pw declared in an example was in a >> Spring one. I don't know if we want to "un-translate" a Spring example, but >> point me in the direction of where I should natively set these things in >> Java DSL. The above mentioned page even says "This component uses >> spring-jdbc behind the scenes for the actual SQL handling", so I figured >> that is why I cannot seem to get away from Spring. >> When I look at the Apache Camel: SQL Example( >> http://camel.apache.org/sql-example.html >> <http://camel.apache.org/sql-example.html> ) page, it talks about "In the >> camel-context.xml file in the src/main/resources/META-INF/spring folder we >> have the Spring XML file to setup and configure the database" >> >> I see connection parameters set like in this other example: >> >> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" >> destroy-method="close"> >> < property name = "driverClassName" value = >> "org.apache.derby.jdbc.EmbeddedDriver" /> >> >> < property name = "url" value = "jdbc:derby:memory:orders;create=true" /> >> >> < property name = "username" value = "" /> >> >> < property name = "password" value = "" /> >> >> </bean> >> >> >> but not declared in the Java DSL, if that's even possible.. Perhaps >> .setheaders() ? but then.. what are the paramater names? >> >> >> Sorry.. I know it's a bit of a "thrashing" response... >> >> >> >> On Monday, July 30, 2018, 10:43:34 AM EDT, Quinn Stevenson >> <[email protected] <mailto:[email protected]>> wrote: >> >> >> >> >> >> From my experience, I’ve always been able to to more with the Java DSL than >> with Spring. I think routes written using the Spring XML are easier to read >> than routes written the Java DSL, but that’s just me. >> >> If you could post you’re Spring XML that you’re trying to translate, I’m >> sure we can help with that. >> >>> On Jul 30, 2018, at 8:00 AM, John F. Berry <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> I've been perusing ways to declare connection to a MS SQL server. There >>> are plenty of Spring examples.. but how about Java DSL? I have been >>> attempting to utilizing the JDBC endpoint provided though camel-sql.. but I >>> cannot seem to either find documentation of how to place a configuration >>> file with an unknown name in an unknown location in the project, or declare >>> it in-line. Been looking at setting it first in the "camel registry", but >>> no luck so far. >>> I did not include any code, since I have nothing functional or "in >>> progress" to show for my efforts. I'm not to the point I need to form any >>> sort of SQL statement yet, since I cannot establish a connection.It seems >>> so simple, but I cannot find how to simply declare server:port, un/pw >>> without bringing a Spring context into the mix. If that is needed to >>> satisfy the camel vanilla SQL endpoint needs, how do I tie that into the >>> Java DSL route I've already got going? I went the Java DSL route simply >>> because some other endpoints didn't have a straight forward Camel Spring >>> solution to them. Is this mixed environment normal? Is there really not a >>> choice to keep a route "clean" in one coding style or the other? >>> Thanks! >
