Stack Holder Stack Holder - 5 months ago 17
SQL Question

Sql exception com.microsoft.sqlserver.jdbc.sqlserverexception: login failed for user ''. Clientconnectionid:073b35b2-0e56-460d-8353-9de2b2d0ecff

I am Using Windows Authentication (Please kept in mind).

As there is no user name and password.

then

why the following code gives me error?

public class Conection
{
public static void main(String a[]) throws ClassNotFoundException, SQLException
{
try
{
String url = "jdbc:sqlserver://localhost\\MALIKUSMANNAWAZ:1433;databaseName=ali";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);
System.out.println("connection created");
Statement st=conn.createStatement();
String sql="select * from Login_System";
ResultSet rs=st.executeQuery(sql);
while(rs.next())
{
System.out.println("Name: "+rs.getString(1));
//System.out.println("Address : "+rs.getString(2));
}
if(st!=null)
st.close();
if(conn!=null)
conn.close();
}
catch(SQLException sqle)
{
System.out.println("Sql exception "+sqle);
}
}
}


Please Kept in mind that my PC Name is:

MALIKUSMANNAWAZ


using:

Windows Authentication


Database Name:

ali


IDE:

SQL Server 2012

Answer

add ;integratedSecurity=true to your connection string. While you are not required to submit credentials if you are using windows authentication you still have to tell your connection to use your windows logon.

here is microsoft's article on jdbc connection strings. https://msdn.microsoft.com/en-us/library/ms378428(v=sql.110).aspx