Использование драйвера JDBC для соединения с Sql Server 2008 - PullRequest
1 голос
/ 27 апреля 2010

Я использую следующий код для соединения с Sql Server 2008:

Connection con = null;
CallableStatement stmt = null;
ResultSet rs = null;

try
{
    SQLServerDataSource ds = new SQLServerDataSource();
    ds.setIntegratedSecurity(false);
    ds.setServerName("localhost");
    ds.setInstanceName("MSSQLSERVER2008");
    ds.setPortNumber(1433);  
    ds.setUser("televic-edu3-dev");
    ds.setPassword("internal");
    ds.setDatabaseName("televic-edu3-dev");
    con = ds.getConnection();
    ...

Это дает мне следующую ошибку:

Ошибка входа для пользователя 'televic-edu3-dev».Пользователь не связан с доверенным соединением SQL Server.

В моем экземпляре SqlServer включен смешанный режим.Я уже пытался подключиться к своему экземпляру SqlServer с теми же учетными данными, который работает.В .NET он работает со строкой соединения, имеющей те же учетные данные ... Так что я делаю не так?

Это строка соединения из .NET:

TLV-EDU-LIC \ MSSQLSERVER2008; Пароль = внутренний; Persist Security Info = True; ID пользователя = televic-edu3-dev;Исходный каталог = televic-edu3-dev

Я также попробовал это кстати, что дает мне ту же ошибку (что логично):

Connection con = null;
Statement stmt = null;
ResultSet rs = null;

try
{
    String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
    "instanceName=MSSQLSERVER2008;databaseName=televic-edu3-dev;
        userName=televic-edu3-dev;password=internal;";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con = DriverManager.getConnection(connectionUrl);

Ответы [ 2 ]

1 голос
/ 27 апреля 2010

Ну, опуская ds.setPortNumber (1433); заставляет это работать. Не знаю почему ... мой экземпляр sqlserver работает на порту 1433.

0 голосов
/ 27 апреля 2010

Вы используете аутентификацию домена (имя пользователя Windows), а не аутентификацию БД. Убедитесь, что JVM работает с тем же именем пользователя Windows и, следовательно, не является системной службой. Если это не вариант, используйте вместо этого аутентификацию БД.

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