Von Windows mit SQL Server Management Studio (SSMS), kann ich nur zu einem SQL Server auf einer anderen Domäne wie folgt an:Verbindung mit SQL Server auf einer anderen Domäne über JDBC
C:\> runas /netonly /user:differentDomainName\aUserName "C:\Program Files (x86 )\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe -S anIpAddress"
Wie kann Ich erreiche diese Verbindung über JDBC? Ich habe versucht, die folgende Verbindungszeichenfolge mit Microsofts sqljdbc 4.2-Treiber verwenden:
jdbc:sqlserver://anIpAddress:1433;database=MAIN;user=differentDomainName\\aUserName;password=pass
Ich erhalte den folgenden Fehler:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'differentDomainName\aUserName'
Dies ist der gleiche Fehler, die ich erhalte, wenn ich anfangen SSMS ohne runas und tipped differentDomainName \ aUserName für den Login-Namen im Dialogfeld "Connect to Server" von SSMS 2012.
Zusätzliche Informationen: The J Die DBC-Verbindung wird innerhalb einer Anwendung hergestellt, die unter Linux ausgeführt wird. Daher ist das Ausführen der Anwendung mit runas
leider keine Option.
Ein anderen Versuch: Ich habe auch versucht jTDS 1.3.1 mit der folgenden Verbindungszeichenfolge zu verwenden:
jdbc:jtds:sqlserver://anIpAddress:1433;databaseName=MAIN;domain=differentDomainName;user=aUserName;password=pass
seit aUserName eingerichtet ist, nur für die Windows-Authentifizierung. Leider ergibt sich die folgende Ausnahme:
o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.
Gefolgt von java.sql.SQLException: I/O Error: DB server closed connection.
Permission Informationen: Ich bin nicht in der Lage, alles auf dem SQL Server-Computer zu ändern, einschließlich der Konfiguration innerhalb von SQL Server. Das Konto "aUserName" wird einem schreibgeschützten Windows Server-Benutzer mit SQL Server zugeordnet.
Vor einiger Zeit habe ich etwas Ähnliches mit jTDS für [diese Antwort] (http://stackoverflow.com/a/26465897/2144390) getan. Vielleicht könnte es Ihnen einige Ideen für andere Dinge geben, die Sie ausprobieren können. –
Danke. Ich kann nichts auf dem SQL Server-Computer ändern, einschließlich einer Konfiguration in SQL Server. Der Benutzer ist als schreibgeschützter Benutzer eingerichtet. Ich habe versucht, das Code-Snippet zu verwenden, das Sie zur Verfügung gestellt haben (durch IP-Adresse, Benutzernamen und Passwort für meine Umgebung zu ersetzen) und erhalte immer noch dieselbe SQL-Ausnahme, die im OP notiert ist. – James
Bitte beachten Sie [SO Post] (http: // stackoverflow.com/questions/14945075/receiving-sqlexception-login-failed-für-user-connecting-to-sql-server-2008) beschreibt die Windows-Authentifizierung sowie erforderliche .jar/.dll-Dateien. Denken Sie auch daran, Benutzername und Passwort als Argumente (nicht in Verbindungszeichenfolge) zu übergeben: 'DriverManager.getConnection (connectionStr, user, password)'. – Parfait