Соединиться с SQL Server 2005 Express с помощью Java - PullRequest
0 голосов
/ 06 мая 2011

У меня проблема с моим проектом.Это сводит меня с ума - может быть, вы можете помочь мне.У меня есть компьютер под управлением SQL Server 2005 Express, и он работает хорошо.В Eclipse я проверил следующий код для запроса базы данных:

String user= "sa";
String pass= "root";
Statement smt;
ResultSet rs = null;
System.out.println("2");

try {
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 version
}catch (Exception e){}

try {
  System.out.println("3");
  Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=master",user,pass);
  smt = con.createStatement();
  smt.executeQuery("SELECT * from test");
  rs = smt.getResultSet();

  while (rs.next()) {
    printentry(rs);
  }

  con.close()
  System.out.println("5");
} catch ( SQLException excepcionSql) {
  JOptionPane.showMessageDialog( null, excepcionSql.getMessage(), "Error", JOptionPane.ERROR_MESSAGE );
}

И он отлично работает и выполняет запрос.Я скачал драйвер от Microsoft и добавил sqljdbc4.jar в путь к классам.

Проект, который должен действительно иметь доступ к базе данных, является еще одной версией Eclipse (Eclipse SDK 3.2).Он запускает веб-сервис, который должен делать запросы к базе данных.Я добавил тот же самый jar в путь к классу и выполнил тот же код, строку:

Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");

выдает это исключение:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver в org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:14)в org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1284) в java.lang.Class.forName0 (собственный метод) в java.lang.Class.forName (неизвестный источник) в com.banquito.Sucursales.HolaMundo.pruebaBD (HolaMundo.java:42) в com.banquito.Sucursales.SucursalesSOAPImpl.getConfigPaciente (SucursalesSOAPImpl.java:44) в com.banquito.Sucursales.SucursalesSOASkeleton:.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Источник) на java.lang.reflect.Method.invoke (Неизвестный источник) на org.apache.axis.providers.java.RPCProvider.invokeMethod (RPCProvider.java:397) на org.apache.axis.providers.java.RPCProvider.processMessage (RPCProvider.java:186) в org.apache.axis.providers.java.JavaProvider.invoke (JavaProvider.java:323) в org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) вorg.apache.axis.SimpleChain.doVisiting (SimpleChain.java:118) в org.apache.axis.SimpleChain.invoke (SimpleChain.java:83) в org.apache.axis.handlers.soap.SOAPService.invoke (SOAPService).Java: 453) в org.apache.axis.server.AxisServer.invoke (AxisServer.java:281) в org.apache.axis.transport.http.AxisServlet.doPost (AxisServlet.java:699) в javax.servlet.http.HttpServlet.service (HttpServlet.java:647) по адресу org.apache.axis.transport.http.AxisServletBase.service (AxisServletBase.java:327) по адресу javax.servlet.http.HttpServlet.servt: 29org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:269) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.jav))..catalina.core.StandardContextValve.invoke (StandardContextValve.java:172) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) в org.apache.catalina.valves.ReveinportValveReport: 117) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:108) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:174) в org.apache.coyote.ht.Http11Processor.528) в org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.Java: 81) в org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run (ThreadPool.java:689) в java.lang.Thread.run (неизвестный источник)

Похоже, Eclipse не может разрешить экспорт. Может ли кто-нибудь помочь мне с этим? Спасибо

Ответы [ 3 ]

1 голос
/ 30 мая 2012

если вы используете eclipse, нажмите «настроить путь сборки», добавьте этот jar-файл в приложение и повторите попытку

0 голосов
/ 30 мая 2012

Похоже, вы используете какой-то контейнер сервлетов для запуска своего приложения.Поэтому лучше не создавать соединения с базой данных непосредственно из вашего приложения, а создавать источник данных в контейнере и использовать его из своего кода.

Тогда вам нужно будет поместить jar с драйвером JDBC в папку lib вашего контейнера.,

0 голосов
/ 06 мая 2011

jar-файл, похоже, отсутствует, очистите проект.Если он все еще попытается создать экземпляр com.microsoft.sqlserver.jdbc.SQLServerDriver или любого другого класса, присутствующего в этом банке, вы получите ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...