code does not work outside the IDE

0

I have a JAVA application with no graphical environment that writes to a database in SQL, this application inside the NETBEANS IDE works perfectly, but outside the IDE, when I try to run the .jar it shows me an error and tells me that it does not you can open the database connection.

The main main code is:

public class AutoPin {  
    public static void main(String[] args) throws Exception {
        while(true){
            Model claseModel = new Model();

            String myIP = InetAddress.getLocalHost().getHostAddress();
            System.out.println("myIP: " + myIP);

            claseModel.actualizarFechaUltimoPin(myIP);

            Thread.sleep(30*1000);
            System.out.println("Estado Actualizado.");
        }
    }
}

I have an auxiliary class like this:

public class Model{

    PreparedStatement s;
    protected Connection cn;

    String driverDataBase = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String DatoFinales = "jdbc:sqlserver:"
                + "//192.168.1.24\pruebas"
                + ";applicationName="
                + "ProyectoPin"
                + ";databaseName="
                + "Prueba01"
                + ";user="
                + "wil"
                + ";password="
                + "1234";


    public Model() {

    }

    public void actualizarFechaUltimoPin(String ip) throws Exception{
        String comandoEjecutarSQL = "update PcTDT set FechaUltimoPin = GETDATE() "
                + "where IpPc = '"
                + ip
                + "'";

        //System.out.println("comandoEjecutarSQL: " + comandoEjecutarSQL);

        InsertarDatos(comandoEjecutarSQL);
    }   


    private boolean AbrirConexionBaseDatos() {
        try {
            Class.forName(driverDataBase); //inicializo el driver             
            cn = DriverManager.getConnection(DatoFinales, new Properties()); 
            return true;
        } catch (ClassNotFoundException | SQLException e1) {
            System.out.println("no se pudo abrir la conexion con la DB");
            return false;
        }
    }

    private void CerrarConexionBaseDatos() throws SQLException {
        try {
            s.close();
        } catch (Exception e1) {
            System.out.println("no se pudo cerrar la conexion con la DB");
        }
    }

    public String InsertarDatos(String comandos) throws Exception {
        String mensajeRetorno = "0";

        if( AbrirConexionBaseDatos() ){
            try {
                s = cn.prepareStatement(comandos, Statement.RETURN_GENERATED_KEYS);
                int i = s.executeUpdate(); //ejecuto los comandos guardados

                Integer risultato = -1;
                ResultSet rs = s.getGeneratedKeys();
                if (rs.next()) {
                    risultato = rs.getInt(1);
                    if (risultato == 0) {
                        risultato = 1;
                    }
                }

                if (i > 0) {
                    //System.out.println("dato insertado o actualizado");
                    mensajeRetorno = "" + risultato;
                } else {
                    System.out.println("problema en el insertado o actualizado");
                }
                CerrarConexionBaseDatos();
            } catch (SQLException e1) {
                System.err.println(e1);
            }
        }

        return mensajeRetorno;
    }
}

and finally I use the sqljdbc4.jar sql library, which when I give " Clean and Bulit " copies this file to a Lib folder next to .jar .

When I run this .jar from the IDE it works perfectly but when I execute it with java -jar AutoPin.jar it throws me the console error indicating that no se pudo abrir la conexion con la DB that is a message of clase Model with which I verify that if it enters this class, but it does not solve the DB opening.

The Error thrown by console is:

  

Jun 29, 2018 2:34:10 PM com.microsoft.sqlserver.jdbc.TDSChannel   enableSSL INFO: java.security path: C: \ Program   Files \ Java \ jre1.8.0_171 \ lib \ security Security providers: [SUN version   1.8, SunRsaSign version 1.8, SunEC version 1.8, SunJSSE version 1.8, SunJCE version 1.8, SunJGSS version 1.8, SunSASL version 1 .8, XMLDSig   version 1.8, SunPCSC version 1.8, SunMSCAPI version 1.8] SSLContext   provider info: Sun JSSE provider (PKCS12, SunX509 / PKIX key / trust facto   ries, SSLv3 / TLSv1 / TLSv1.1 / TLSv1.2) SSLContext provider services:   [SunJSSE: KeyFactory.RSA - > sun.security.rsa.RSAKeyFactory aliases:   [1.2.840.113549.1.1, OID.1.2.840.113549.1.1], SunJSSE:   KeyPairGenerator.RSA - > sun.security.rsa.RSAKeyPairGenerator aliases:   [1.2.840.113549.1.1, OID.1.2.840.113549.1.1], SunJSSE:   Signature.MD2withRSA - > sun.security.rsa.RSASignature $ MD2withRSA   aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2], SunJSSE:   Signature.MD5withRSA - > sun.security.rsa.RSASignature $ MD5withRSA   aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4], SunJSSE:   Signature.SHA1withRSA - > sun.security.rsa.RSASignature $ SHA1withRSA   aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5,   1.3.14.3.2.29, OID.1 .3.14.3.2.29], SunJSSE: Signature.MD5andSHA1withRSA - > sun.security.ssl.RSASignature,   SunJSSE: KeyManagerFactory.SunX509 - >   sun.security.ssl.KeyManagerFactoryImpl $ S unX509, SunJSSE:   KeyManagerFactory.NewSunX509 - > sun.security.ssl.KeyManagerFactoryImp   l $ X509 aliases: [PKIX], SunJSSE: TrustManagerFactory.SunX509 - >   sun.security.ssl.TrustManagerFactoryIm pl $ SimpleFactory, SunJSSE:   TrustManagerFactory.PKIX - > sun.security.ssl.TrustManagerFactoryImpl $   PKIXFactory aliases: [SunPKIX, X509, X.509], SunJSSE:   SSLContext.TLSv1 - > sun.security.ssl.SSLContextImpl $ TLS10Context   aliases: [SSLv3], SunJSSE: SSLContext.TLSv1.1 - >   sun.security.ssl.SSLContextImpl $ TLS11Context, SunJSSE:   SSLContext.TLSv1.2 - > sun.security.ssl.SSLContextImpl $ TLS12Context,   SunJSSE: SSLContext.TLS - > sun.security.ssl.SSLContextImpl $ TLSContext   aliases: [SSL], SunJSSE: SSLContext.Default - >   sun.security.ssl.SSLContextImpl $ DefaultSSLConte xt, SunJSSE:   KeyStore.PKCS12 - > sun.security.pkcs12.PKCS12KeyStore] java.ext.dirs:   C: \ Program Files \ Java \ jre1.8.0_171 \ lib \ ext; C: \ Windows \ Sun \ Java \ li   b \ ext

Could you help me please?

Thanks in advance

    
asked by william angel 03.07.2018 в 17:22
source

0 answers