Spanish Conexión directa a SQL

vcopola

Member
Licensed User
Longtime User
Buenos dias socios.
Llevo ya varios dias tratando de conectar directamente con un servidor de MS SQL 2012
He probado con las librería JDBCSQL sin éxito, y ya no se si soy yo( que seguro) pero siempre me dice que no puede abrir la conexión
Alguien tiene algún ejemplo de esto?
Mi servidor SQL tiene nombre de instancia, no se si eso influye a la hora de la conexión
Gracias
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
Mi servidor SQL tiene nombre de instancia, no se si eso influye a la hora de la conexión

casi seguro que si, para conexiones con JDBC deben ser por IP y puerto, tienes que tener habilitado conexiones remotas y no puedes hacerlo (almenos no de manera sencilla) por usuario de windows, necesitas usar usuario de SQL server.

tienes tu connection string?
 

vcopola

Member
Licensed User
Longtime User
yo he probado con varios


sql1.InitializeAsync("Connect", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver://192.168.0.117:1433;databaseName=BBDD_DATOS;user=usuario;password=contra;appname=SKMJL;wsid=MyWS;loginTimeout=10", "usuario", "contra")



sub Process_Globals

Public mysql As JdbcSQL

Private driver As String = "net.sourceforge.jtds.jdbc.Driver"

Private jdbcUrl As String = "jdbc:jtds:sqlserver://192.168.0.117/<BBDD_DATOS>"

Private Username As String = "usuario"

Private Password As String = "contra"

End Sub


la ip del servidor la tengo y el nombre de instancia también, en el servidor sql tengo bien configurado el usuario y contraseña

Gracias por la ayuda.
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User

vcopola

Member
Licensed User
Longtime User
Gracias por la ayuda... No tendrás ningún ejemplo no?? Mañana probare a bajarme lo de Microsoft y pruebo... Gracias
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
ejemplo?? varios pero es sencillo:

B4X:
#AdditionalJar: mssql-jdbc-6.2.2.jre8

sql.InitializeAsync("SQL","com.microsoft.sqlserver.jdbc.SQLServerDataSource","jdbc:sqlserver://localhost:1433","user","password")

y con eso basta.
 

vcopola

Member
Licensed User
Longtime User
algo así??
B4X:
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.

    Dim sql1 As JdbcSQL', Str As StringUtils
   
   
End Sub
Sub Service_Create
    sql1.InitializeAsync("SQL","com.microsoft.sqlserver.jdbc.SQLServerDataSource","jdbc:sqlserver://localhost:1433","user","pass")
   
   
    Log(sql1.IsInitialized)
    sql1.BeginTransaction
    Try
        Dim rs As ResultSet = sql1.ExecQuery("SELECT first_name, last_name FROM user_mstr ORDER BY first_name")
        Do While rs.NextRow
            Log(rs.GetString("first_name") & " " & rs.GetString("last_name"))
        Loop
        sql1.Close
     
        sql1.TransactionSuccessful
    Catch
        Log(LastException.Message) 'no changes will be made
    End Try
End Sub
 

vcopola

Member
Licensed User
Longtime User
Me da este error
(RuntimeException) java.lang.RuntimeException: Class not found: com.microsoft.sqlserver.jdbc.SQLServerDataSource

y tengo añadido el
#AdditionalJar: mssql-jdbc-6.2.2.jre7

y el fichero en su ruta

Gracias por todo
 

vcopola

Member
Licensed User
Longtime User
probe con el 8 y con el 7 y com ambos nada
me los baje del enlace que pusiste..
Gracias por todo..a ver si lo consigo
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
debe ser que tienes el TCP/IP inhabilitado en el configuration manager. tamien tiene que prender el sql server browser
 

vcopola

Member
Licensed User
Longtime User
Hola..Lo primero gracias por la ayuda....
Encontre un ejemplo que esoty modificando, pero soy incapaz de hacerlo funcionar..
Si lo pongo con java 7 y 8 y es lo mismo
Siempre me dice que no puede conectar
He revisao el sqlserver y funciona bien y con otros programas puedo conectar..
Adjunto el proyecto.
 

Attachments

  • ejemplo.zip
    9.7 KB · Views: 442

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
Te debo una disculpa.
despues de checar este hilo:
https://www.b4x.com/android/forum/threads/mssql-jdbc-minimalistic-example.90548/

Dice que con los drivers de Microsoft es casi imposible poder conectarlo, lo que sugieren es usar JTDS jtds-1.3.1.jar,

y Tu conexion asi:

B4X:
sql1.InitializeAsync("Connect", "net.sourceforge.jtds.jdbc.Driver", "jdbc:jtds:sqlserver://192.168.1.5:65218;databaseName=MyDBName;user=UserName;password=MyPW;appname=SKMJL;wsid=MyWS;loginTimeout=10", "UserName", "MyPW")

en esta parte tienes un error:

B4X:
"jdbc:sqlserver://192.168.0.107\SQL2014:1434"

si pones el nombre SQL2014 vas a entrar por Names Pipes y no por TCP, lo correcto es: 192.168.0.107:1434
-------------

La razon por la cual te recomende los drivers de microsoft es por que pense que estabas conectando por JRDC, que deberia ser los correcto, pero directamente te debe funcionar con esta ultima sugerencia.
 

vcopola

Member
Licensed User
Longtime User
Nada no tienes que pedir perdon por nada....
No soy capaz de hacerlo andar.
No queria usar la opcion del JRDC pero creo que tendre que probarlo.....me suena haber visto algun pdf por el foro con una guia para torpes como yo...a ver si la encuentro.
Gracias por todo..
 

dante kemal

Member
Licensed User
Longtime User
Hola Buenas tardes, Vcopola, en lo personal tuve un problema similar, y lo solucione.
Como puedo ver, en estos foros es mucha la ayuda que que hay y creo que lo importante es compartir. Lo que si soy nuevo en estas cuestiones, así que si no se todavía como hacer para compartir lo poco que hice, les pediría que tengan paciencia, estoy probando esta plataforma.
Si todavía están necesitando ayuda les puedo compartir lo que hice, que quedo funcionando con MSSQL 2008, usando una libreria que se llama MSSQL.jar con su respectivo XML. Es una APP sencilla, solo se conecta y lee una tabla de una base de datos levantada en un servidor interno mediante un IP.

Si necesitan por favor avisen...
 

vcopola

Member
Licensed User
Longtime User
Hola Buenas tardes, Vcopola, en lo personal tuve un problema similar, y lo solucione.
Como puedo ver, en estos foros es mucha la ayuda que que hay y creo que lo importante es compartir. Lo que si soy nuevo en estas cuestiones, así que si no se todavía como hacer para compartir lo poco que hice, les pediría que tengan paciencia, estoy probando esta plataforma.
Si todavía están necesitando ayuda les puedo compartir lo que hice, que quedo funcionando con MSSQL 2008, usando una libreria que se llama MSSQL.jar con su respectivo XML. Es una APP sencilla, solo se conecta y lee una tabla de una base de datos levantada en un servidor interno mediante un IP.

Si necesitan por favor avisen...
Hola.
Lo deje por imposible....así que cualquier ayuda posible me vendría genial...
Si puedes exportar el proyecto o algo....gracias
 

dante kemal

Member
Licensed User
Longtime User
Hola Vcopola, como soy nuevo en esto, me cuesta un poco encontrar las cosas acá.
Te cuento que también estuve mucho tiempo dándole vueltas hasta que al fin anduvo, y bien.
Use un par de librerias que encontre buscando en todo el foro, y lo pude hacer funcionar, lo único es que no se que te tengo que pasar para que lo veas, si me lo indicas te lo "subo". Es un ejemplo bastante sencillo.
Te pido disculpas por mi falta de experiencia en este tipo de Foro.
 
Top