Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JAVA] SQL Connectie

Pagina: 1
Acties:

Verwijderd

Topicstarter
Experts,

Ik zit al de hele middag te puzzelen op een SQL connectie. Elke keer als ik wil connecten vanuit mijn JAVA applicatie krijg ik de foutmelding:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'dbUser'. The user is not associated with a trusted SQL Server connection.

Terwijl ik op de SQL server wel gewoon kan inloggen met de gebruiker dbUser, de instellingen van SQL server staan op mixed mode, en laat externe connecties toe. Als ik inlog met een querystring met integrated security dan krijg ik alleen een melding

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'Systeemgebruiker'

Hoe kan het toch dat ik wel op de sql server kan inloggen maar niet vanuit mijn applicatie?

  • geforce5_guy
  • Registratie: December 2001
  • Niet online
Gebruik je de goede connectie string ?

  • rblok
  • Registratie: Juni 2002
  • Laatst online: 27-11 15:46
Laat eens het stuk code zien....

Walking on water and developing software from a specification are easy if both are frozen. - Edward V Berard


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:14
Je user 'dbUser' heeft ook rechten op de databank waarop je wilt inloggen ?

Je zegt dat je op SQL Server wel kan inloggen met die gebruiker, maar heb je ook al geprobeerd om dan die databank te benaderen ? Heb je bv al eens met die gebruiker ingelogged, en een query uitgevoerd via Query Analyzer bv ?

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:14
> DTE

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja als ik in log op SQL Server en ik voer een query uit via de Analizer krijg ik gewoon de data die ik opvraag. Alleen via Eclipse lukt het niet

Connectie:
code:
1
2
3
4
5
6
7
8
9
10
String connectie = "jdbc:sqlserver://localhost:1433;databaseName=Klanten;user=dbUser;password=dbUser;";
try 
{
    Class.forName(driver);
    con = DriverManager.getConnection(connectie);
}
catch (Exception e) 
{
    e.printStackTrace();
}


Error die ik krijg:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'dbUser'. The user is not associated with a trusted SQL Server connection.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-11 13:40

Robtimus

me Robtimus no like you

Het zou niet uit mogen maken, maar probeer het volgende eens:
Java:
1
2
3
4
5
6
7
8
9
10
String connectie = "jdbc:sqlserver://localhost:1433;databaseName=Klanten";
try 
{
     Class.forName(driver);
     con = DriverManager.getConnection(connectie, "dbUser", "dbUser");
}
catch (Exception e) 
{
     e.printStackTrace();
}

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
Heb ik geprobeerd en maakt inderdaad niks uit. Is toch raar dat ik wel op de SQL server kan inloggen met deze user en daar query's kan uitvoeren.

Maar via Eclipse niet? In de exception die ik krijg staat wel het 1 en ander over een 'Unknown source' zou dat iets kunnen betekenen in de goeie weg?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-11 13:40

Robtimus

me Robtimus no like you

Nee, dat houdt in dat niet bekend is op welke plek in de code de exception plaatsvindt.
Als dat wel bekend is dan staat de filename er gevolgd door het regelnummer.

Bv:
Java:
1
2
3
4
5
6
7
public class Test
{
    public static void main(String[] args) throws Exception
    {
        throw new Exception("bla");
    }
}

geeft dit:
code:
1
2
Exception in thread "main" java.lang.Exception: bla
        at Test.main(Test.java:5)

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Verwijderd schreef op donderdag 20 september 2007 @ 22:32:
Heb ik geprobeerd en maakt inderdaad niks uit. Is toch raar dat ik wel op de SQL server kan inloggen met deze user en daar query's kan uitvoeren.
Het is wel gebruikelijk dat een user wel lokaal met de database mag connecten, maar niet remote. Je hebt het over 'inloggen op de server'. Hoe doe je dat? Als je bijvoorbeeld vanaf een op de server draaiende webinterface connectie met de server maakt, dan heeft de dbUser een lokale verbinding, terwijl jij nu een remote verbinding probeert te openen.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Ik start de enterprise manager en log daar in met dbUser, eerst kreeg ik de melding:

The user is not associated with a trusted SQL Server connection.

Dus heb ik de authenticatie methode veranderd in mixed. Daarna kon ik wel op de enterprise manager inloggen met deze user.

Het is inderdaad een remote connection, maar in het tabblad 'Connections' die onder de server properties staat, staat wel een vinkje voor 'Allow remote connections to this server'

Dus dat zou die wel moeten toestaan?

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Als ik zo even snel Google kom ik opmerkingen tegen die er op lijken te wijzen dat je met de freeTDS driver meer succes zou kunnen hebben. Zou je dat eens willen proberen?

Daarnaast lijkt het in dit artikel alsof je ';selectmethod=cursor' expliciet moet vermelden. Mixed mode zou met die driver moeten werken, maarjah...

[ Voor 32% gewijzigd door Confusion op 21-09-2007 07:51 ]

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Deze driver geeft ook hetzelfde erg raar:S selectMethod=cursor; heb ik toegevoegd aan de connectie string maar dit maakt geen verschil helaas. Als ik met de de dbUser kan inloggen op enterprise manager en daaar query's kan uitvoeren, betekent het toch dat de user wel de goede rechten heeft?

Ik maak gebruikt van WIndows Vista en SQL server 2005 Express, zou dat kunnen uitmaken?

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-11 13:40

Robtimus

me Robtimus no like you

Confusion schreef op vrijdag 21 september 2007 @ 07:48:
Daarnaast lijkt het in dit artikel alsof je ';selectmethod=cursor' expliciet moet vermelden. Mixed mode zou met die driver moeten werken, maarjah...
Ik werk al een paar jaar met Java en SQL Server (eerst 2000, daarna 2005), en de select method is alleen maar nodig om het ophalen te verbeteren qua performance (vooral geheugen). Ik gebruik het dan ook zelden, aangezien snelheid belangrijker is dan geheugen.
Verwijderd schreef op vrijdag 21 september 2007 @ 11:10:
Deze driver geeft ook hetzelfde erg raar:S selectMethod=cursor; heb ik toegevoegd aan de connectie string maar dit maakt geen verschil helaas. Als ik met de de dbUser kan inloggen op enterprise manager en daaar query's kan uitvoeren, betekent het toch dat de user wel de goede rechten heeft?

Ik maak gebruikt van WIndows Vista en SQL server 2005 Express, zou dat kunnen uitmaken?
Op welke machine draait de enterprise manager? Op de server zelf, of op een andere?

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
IceManX schreef op vrijdag 21 september 2007 @ 11:56:

Op welke machine draait de enterprise manager? Op de server zelf, of op een andere?
Alles is localhost, de sql server, enterprisemanager, en de applicatie

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Is dit een SQL gebruiker of een Windows / AD gebruiker? Ik geloof dat de standaard MS SQL Server JDBC driver geen ondersteuning heeft voor Windows authenticatie.

Verwijderd

Topicstarter
Remus schreef op dinsdag 25 september 2007 @ 16:42:
Is dit een SQL gebruiker of een Windows / AD gebruiker? Ik geloof dat de standaard MS SQL Server JDBC driver geen ondersteuning heeft voor Windows authenticatie.
Dit is een SQL gebruiker, voor windows authenticatie moet je een bepaald bestand in je system32 zetten zodat integrated security ondersteund wordt. Dit lukt ook wel maar ik krijg ongeacht of ik de windows user of de sql gebruiker gebruik, krijg ik de melding, terwijl bij het inloggen op de enterprise manager wel alles mag en kan:

Login failed for user "(user)". The user is not associated with a trusted SQL Server connection.

Ik sta nog voor een raadsel.. :?

Verwijderd

Topicstarter
Heb het als nog op kunnen lossen maar niet op een erg goed manier, heb het ergens anders geprobeerd met SQL Server 2000 en een XP computer en dat werkte, toen me eigen pc gedowngrade van vista naar xp pro en sql server 2005 naar sql 2000

In ieder geval het werkt nu.
Pagina: 1