Que erro é esse?

Exception in thread “main” java.lang.Exception: Native SSPI library not loaded. Check the java.library.path system property.
at net.sourceforge.jtds.util.SSPIJNIClient.getInstance(SSPIJNIClient.java:89)
at WScmlt.conexao(WScmlt.java:45)
at WScmlt.main(WScmlt.java:90)

que erro é esse?

estou tentando usar autenticação Windows no banco SqlServer

parece que a classe não achou o “Main”
post o codigo para gente ajudar vc

Creio eu que o main esta retornando retornando null e não esta recebendo o valor que vc quer que ele passe. Talvez se vc amarrar assim:
If (condição == null || condição.equals == (""))(
o valor de main

)

Creio eu que daria certo. Mas acho eu que vc deveria colocar o codigo para darmos uma olhada!

cara… eu acho que uma das API´s, que vc está usando no main da sua classe ou em uma das classes q vc está instanciando dentro do main, não está carregada

espero ter ajudado

poxa, e o pior é q está carregada, olha so…

import java.sql.*;

import net.sourceforge.jtds.jdbcx.JtdsDataSource;
import net.sourceforge.jtds.util.SSPIJNIClient;

public class WScmlt{

ResultSet rs;
Statement st;
Connection con;
String sql,user,senha;
JtdsDataSource ds;
byte[] ntlm1;
private byte[] ntlm2;
private byte[] ntlm3;
SSPIJNIClient sspiJNIClient;

public WScmlt(){
	super();
}

public void conexao() throws Exception{
	try {
		
		Class.forName("net.sourceforge.jtds.jdbc.Driver");	
		
	//	Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://srv_sql_02:1433/SqlDesMissaoOficial");

		ds = new JtdsDataSource();
		ds.setDescription("Viagem");
		
		//MS SQL Server Host Name
		ds.setServerName("srv_sql_02");
		
		//Port
		ds.setPortNumber(1433);

		//Database Name
		ds.setDatabaseName("SqlDesMissaoOficial");
		
		boolean ntlmAuthSSO = (user == null || user.length() == 0);
		if (ntlmAuthSSO) {
		sspiJNIClient = SSPIJNIClient.getInstance();
		ntlm1 = sspiJNIClient.invokePrepareSSORequest();
		}
	
		ntlm3 = sspiJNIClient.invokePrepareSSOSubmit(ntlm2);
		
		con = ds.getConnection();
		
		System.out.println("conectou");
		
		st = con.createStatement();
		sql = "select * from Viagem";
		
		while( rs.next() ) {
			  System.out.println(rs.getString("IDEVIAGEM") );
			}
		
	} catch (SQLException e) {
		System.out.println("Erro");
		e.printStackTrace();
	}
	
	try {
		rs.close();
		st.close();
		con.close();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

public static void main(String args[]) throws Exception{
	WScmlt ws = new WScmlt();
	try {
		ws.conexao();
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

}

Verifique se não tem alguma DLL do JTDS, tente coloca-la em windows/system32

amigo faz o teste, e post o erro que vai aparecer

1- coloque sua conexão com o BD dentro do construtor da classe
2 -Apenas deixe
public static void main(String args[]) {

veja também se não tem que carregar nenhum .jar do driver no projeto!

tbm acho q vc tem q adicionar o .jar no path das bibliotecas.

é cara… da uma procurada por ai e ve se vc não tem q adicionar algum .jar no seu projeto!

Segundo esse post que parece ser de alguém com o mesmo problema que o seu, esse erro tem relação com autenticação de usuário no ms sql server.

Tente fazer a conexão como ele disse que conseguiu:

[code]Class.forName(driverClass).newInstance();
String url = jdbcURL ;

conn= DriverManager.getConnection(url,user,password);[/code]

Boa sorte e flw

[edit]

Ah, mas se o que vc quer é realmente usar o usuário logado no windows para entrar no bd, aí isso que está no faq do jtds pode ajudar:

Ou seja, instale essa biblioteca vendo o README.SSO pra ver como que faz isso.

[/edit]