Spanish En busca de libreria para conectarme a MsSql

Alberto Michelis

Well-Known Member
Licensed User
Longtime User
Hola gente, cual es la mejor libreria para conectarme a un server MsSql desde B4A?
Si puede ser con algun ejemplo mejor, gracias!
 

josejad

Expert
Licensed User
Longtime User
Hola Alberto:

La forma recomendada es jRDC2, pero necesitas un VPS.
Si no hay alguna forma más de acceder, depende de dónde y cómo tengas alojada la BBDD.

saludos,

 

josejad

Expert
Licensed User
Longtime User
Hola Alberto:

Un VPS es un servidor virtual.
Por eso te indico que tenemos que saber dónde tienes alojada la base de datos. Si la tienes en un VPS, puedes hacerlo con jRDC2.
Si no, tienes que hacerla con alguno de los otros dos métodos (un script en tu servidor en php u otro lenguaje al que llames con OKHttp2 y recibas los datos, o con jDBC.
Los métodos son los mismos independientemente de la base de datos, sólo hay que cambiar el driver para acceder a la base de datos.
@Bladimir Silva Toro creo que tiene experiencia con MSSQL.

 

Jorge M A

Well-Known Member
Licensed User
Longtime User
A ver si esto te ayuda:
 

Alberto Michelis

Well-Known Member
Licensed User
Longtime User
Hola Alberto:

Un VPS es un servidor virtual.
Por eso te indico que tenemos que saber dónde tienes alojada la base de datos. Si la tienes en un VPS, puedes hacerlo con jRDC2.
Si no, tienes que hacerla con alguno de los otros dos métodos (un script en tu servidor en php u otro lenguaje al que llames con OKHttp2 y recibas los datos, o con jDBC.
Los métodos son los mismos independientemente de la base de datos, sólo hay que cambiar el driver para acceder a la base de datos.
@Bladimir Silva Toro creo que tiene experiencia con MSSQL.


Si Jose, se lo que es un VPS, estoy haciendo pruebas con un server local y no puedo hacer andar los ejemplos, x ejemplo en esta sub:
B4X:
Sub ListOperadores As ResumableSub
    Wait For (Connect) Complete (Success As Boolean)
    If Success Then
        Try
            Dim sf As Object = mssql.ExecQueryAsync("mssql", "SELECT operador, nombre FROM operadores where operador>1",Null)
            Wait For (sf) mssql_QueryComplete (Success As Boolean, rs As JdbcResultSet)
            If Success Then
                Log("Query OK.")
                Do While rs.NextRow
                    Log("Id: "&rs.GetInt("operador")&" Name: "&rs.GetString("nombre"))
                Loop
                rs.Close
            End If
        Catch
            Success = False
            Log("Query Error.")
            Log(LastException)
        End Try
        CloseConnection
    End If
    Return Success
End Sub

Se conecta bien, al server le llega bien el query pero siempre me dice que no obtiene ningun row.
Y estoy estancado ahi.
 

josejad

Expert
Licensed User
Longtime User
Si Jose, se lo que es un VPS
Perdón, leí "qué es un VPS" en vez de "pq un VPS" :-( jeje.
Bueno, a ver, lo que necesitas en algún ordenador en el que puedas ejecutar el servidor jRDC2 hecho en B4J como .jar, y que éste se conecte a tu base de datos MSSQL (si permite acceso externo).

Lo siento, no he trabajado con ExecQueryAsync, supongo que estás trabajando con jDBC (no nos das mucha información). Si es así, ten en cuenta que no está recomendada para producción.
Entiendo que ejecutando en tu DBMS el sql "SELECT operador, nombre FROM operadores where operador>1" sí te devuelve registros, no?

Danos algo más de información a ver.

saludos,
 
Top