Я иду через Apache Camel и хочу вставить данные в DB. Моя база данных - SqlServer. Apache Camel версия 2.14.1Apache Camel JDBC Insert
Это то, что я пытался до сих пор,
import javax.sql.DataSource;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.impl.SimpleRegistry;
import org.apache.commons.dbcp.BasicDataSource;
public class file2DB {
public static void main(String[] args) throws Exception {
final String url = "jdbc:sqlserver://localhost:1433;databaseName=TestDB";
DataSource datasource = setupDataSource(url);
SimpleRegistry simpleregistry = new SimpleRegistry();
simpleregistry.put("DataSource", datasource);
CamelContext context = new DefaultCamelContext(simpleregistry);
context.addRoutes(new file2DB().new MyRouteBuilder());
context.start();
Thread.sleep(20000);
context.stop();
}
class MyRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
try {
from("direct:myTable")
.setBody(constant("INSERT INTO employee1(empId,payrollId) VALUES('1234','4567')"))
.to("jdbc:DataSource");
} catch (Exception e) {
e.printStackTrace();
}
}
}
private static DataSource setupDataSource(String url){
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
basicDataSource.setUsername("sa");
basicDataSource.setPassword("*****");
basicDataSource.setUrl(url);
return basicDataSource;
}
}
Я проверил соединение Datasource используя ниже код и я получаю результат, так что нет никакой проблемы с связи кажется.
Connection con=null;
try {
con = basicDataSource.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from employee1");
while (rs.next()) {
System.out.println(rs.getString(2));
}
} catch (SQLException e) {
e.printStackTrace();
}
Я не получаю никакой ошибки, и данные не встают в таблицу. Я также попробовал запрос «SELECT», который также не работает.
Я пробовал регистратор, и он дал мне много ошибок в журналах. Нет класса defn, который нашел твиттер и т. Д., Которого я совсем не использую, и я думаю, что моя ошибка не имеет отношения к этому.
Любая помощь.
Там должны быть некоторые ошибки/исключения на терминальном сервере, когда что-то ненормальное происходит - когда что-то не вставляется или не извлекается из связанной базы данных. Вы ничего не получаете в журнале сервера - трассировке стека при попытке вставить или извлечь из базы данных? – Tiny
если есть ошибка на конце сервера, то я думаю, что я пробовал тестировать datasource базовый запрос выбора, который тоже должен был бы сбой? – Jayesh
Я тоже пробовал MySQL, такая же проблема сохраняется. Кажется, что у меня что-то отсутствует в верблюжьей апи. – Jayesh