2013-07-15 5 views
0

У меня возникли проблемы с соединением с java eclipse и sql 2008 express. Я новичок в eclipse и нуждаюсь в некоторой помощи. im используя драйвер sun.jdbc.odbc.JdbcOdbcDriver для соединений и создал мой dsn через средства администрирования, и это кодирование im, использующее: import java.sql. *;Проблемы с подключением драйвера jdbc (sun.jdbc.odbc.JdbcOdbcDriver)

public class JdbcFirstTry 
    { 
     public static void main(String args[]) throws SQLException 
    { 

     try { 
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

       Connection con = DriverManager.getConnection("jdbc:odbc:movie_archive_DSN"); 
       System.out.print("you made connection"); 
      } 
      catch (Exception e) 
      { 

      e.printStackTrace(); 
     } 

    } 

    } 

это это получение им ошибки:

Data source name not found and no default driver specified 
может

кто предлагают консультации о том, как исправить эту ошибку? также TCP/IP включен и порт установлен в 1433

Я также попробовал этот путь, как хорошо, но продолжал получать тайм-аут ошибки:

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

     String connectionUrl = "jdbc:sqlserver://WALSER:1433;databaseName=MYSQLDATABASE;user=walser/kyle;password=brenna1020;"; 

     Connection con = DriverManager.getConnection(connectionUrl); 

и ошибка: TCP/IP соединения хост WALSER, порт 1433 провалился. Ошибка: «Соединение отказано: подключиться. Проверьте свойства подключения. Убедитесь, что на сервере запущен экземпляр SQL Server и принимает соединения TCP/IP в порту. Убедитесь, что TCP-соединения с портом не заблокированы брандмауэром . ".

+0

ясно, как говорится, попробуйте проверить, что имена указаны в ОС и в коде –

+0

все имена написаны правильно. есть ли что-нибудь еще? – kyle5385

+0

Вы можете напрямую связать источник данных с ОС? Проверь это. Кстати, почему вы не подключаетесь напрямую к SQL Server? ODBC ест вашего собеседника, просто включите [SQL Authentication] (http://www.codeproject.com/Articles/616114/SQL-Server-T-SQL-Tips-Tricks#xp_regeditwrite), загрузите драйвер и получите прямое соединение :) –

ответ

0

Чтобы не устранить драйвер по умолчанию, вам необходимо указать тип конкретного драйвера базы данных, например.

  1. oracle.jdbc.driver.OracleDriver для Oracle
  2. com;sybase.jdbc3.jdbc.SybDataSource для Sybase

Во-вторых, пожалуйста, добавьте имя пользователя и пароль в связи вызова.

0

, как вы сказали, ваш протокол (TCP) отключен, так что активировать его с некоторым кодом :) источника из codeproject

--step 1: creating a login (mandatory) 
create login login_to_system_after_injection with password='[email protected]'; 
GO 
--step 2: enabling both windows/SQL Authentication mode 
/*some server specific configurations are not stored in system (SQL)*/ 
--set the value to 1 for disabling the SQL Authentication Mode after . . . 
exec xp_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2; 
--step 3:getting the server instance name 
declare @spath nvarchar(256); 
--SQL SERVER V100 path, use SQL9 for V90 
exec master..xp_regread N'HKEY_LOCAL_MACHINE', 
       N'Software\Microsoft\Microsoft SQL Server\Instance Names\SQL' ,N'SQL10',@spath output,no_output 
--step 4:preparing registry path 
declare @insRegPath nvarchar(1024)=N'Software\Microsoft\Microsoft SQL Server\' + 
             @spath + '\MSSQLServer\SuperSocketNetLib\Tcp'; 
--step 5:enabling tcp protocol 
exec xp_regwrite N'HKEY_LOCAL_MACHINE', @insRegPath, N'Enabled', REG_DWORD, 1 --generally tries to enable all addresses. NOT Recommended 
--step 6:enabling remote access 
--EXEC sys.sp_configure N'remote access', 1 
GO 
RECONFIGURE WITH OVERRIDE --reconfigure is required! 
GO 
--step 7:a system restart is required in order to enabling remote access. 
--step 7.1:shutting down the server 
shutdown 
--After this command you need to start the server implicitly yourself. 
--or just configure the Agent in order to start the server at any shutdown or failure 

вам нужен reastart сервера после выполнения кода, также вам нужно правило сисадмина тоже :)

если приведенный выше код не работает так выйти на старт -> все программы -> Microsoft SQL Server, 2008 -> инструменты конфигурации -> конфигурация сервера SQL менеджер

затем выберите «SQL Серверная сеть конфигурации "на левой панели и выберите нужный экземпляр, затем включите TCP/IP из правой панели и перезапустите сервер

затем в приложении Java вам необходимо изменить имя класса и строку подключения сразу после загрузки библиотеки, добавьте ее в путь класса, и теперь ваш код будет как этот

public class JdbcFirstTry 
    { 
     public static void main(String args[]) throws SQLException 
    { 

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

       Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=DatabaseName;integratedSecurity=true;"); 
       System.out.print("you made connection"); 
      } 
      catch (Exception e) 
      { 

      e.printStackTrace(); 
     } 

    } 

    } 

в выше integratedSecurity = верное средство использует окна учетную запись для подключения, но просто нужно добавить имя пользователя и пароль со строкой подключения как user=MyUserName;password=*****

, наконец, иметь tr у и сообщить мне чувак о результате, надеюсь, вы получите его запустить :)

0

Если вы используете Windows 7 64 бит Перейти к

C: \ Windows \ SysWOW64 и поиск odbcad32.exe

оттуда вы получаете администратора источника данных ODBC и создаете dsn

Смежные вопросы