[ubuntu-ar] [GUFA] Adodb.Connection
francisco prieto
fajprieto at gmail.com
Sun Mar 23 19:41:17 UTC 2014
Chicos,
Perdonen ante todo como arranco este mail...
IUPiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!! Lo lgrr{e Y es para
ponerlo con luces de Colores y en todos los idomas....
Por si se preguntan que logre les respondo...
El problema era poder consultar desde VFP bajo Wine sobre Ubuntu una base
de datos remota SQL Server 2008 R2 alojada en un servidor Windows.
Ok, eso funciona y perfectamente tuve que dar 1.000.000 de vueltas y leer
medio Internet y cuando creia que estaba todo dicho y probado encontre este
videito...
Ojo van a notar que el flaco trabaja sobre una version muy vieja de Wine y
con emulacion a Windows98... no importa miren el video y siganlo hasta
establecer la conexion desde el ODBC...
https://www.youtube.com/watch?feature=player_embedded&v=zXT935FB920
Tampoco importa que no este en Ubuntu el video... lo he probado en Ubuntu
12.04 LTS y con Wine 1.4 y funciona a la perfeccion...
Va a ver que en el video el flaco instala DCOMM98
que baje de aca...
http://www.microsoft.com/en-us/download/confirmation.aspx?id=839
y MDAC 2.8 sp1 que baje de aca...
http://www.microsoft.com/en-us/download/details.aspx?id=5793
Todo eso lo instale seteando al wine en Windows98 como dije, sino no los va
a dejar instalar ...
Una vez que tienen el DSN realizado y funcionando... setean el Wine en
Windows XP y estando asi, si hacen un programa como este...
lnConnHandle=SQLCONNECT('NombreDSN','Usuario','CLAVE')
IF lnConnHandle < 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
lnRetVal = SQLEXEC(lnConnHandle, "SELECT * from MiTabla","cTabla")
SELECT cTabla
browse
= MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
= SQLDISCONNECT(lnConnHandle)
ENDIF
Funcionara perfectamente, ahora si hace mediante cadena de conexion es
decir de esta forma...
lcDSNLess="DRIVER=SQL
Server;SERVER=192.168.1.108,1433;UID=Usuario;PWD=Clave;DATABASE=MiBase;APP=Microsoft
(R) Visual FoxPro;DESCRIPTION=Aplicaciones VFP"
lnConnHandle=SQLSTRINGCONNECT(lcDSNLess)
IF lnConnHandle < 0
= MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
lnRetVal = SQLEXEC(lnConnHandle, "SELECT * from MiTabla","cTabla")
SELECT cTabla
browse
= MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
= SQLDISCONNECT(lnConnHandle)
ENDIF
Les va a decir que la direccion no es accesible.
Tambien he probado de utilzar la conexion DSN con ADODB.Connection y da el
siguiente error:
Código de excepción OLE IDispatch 0 de ADODB.Connection: ?.
Bueno, espero que a todos les sirva mi aporte,
Por mi parte ahora debo, cambiar mi forma de trabajo cuando estoy bajo
Wine, ya que ven{ia usando ADODB y debo utiliza SQLConnect.
Con esto cierro exitoso mi propia consulta.
Saludos,
Pancho,
Cordoba
El 22 de marzo de 2014, 20:41, francisco prieto <fajprieto en gmail.com>escribió:
> Gracias a la ayuda de Alejandro Pacciotti pude resolver la conectividad
> entre MSSqlServer 2008 R2 y UnixODBC...
>
> Cualquier aplicacion que corra directamente sobre Linux (en mi caso
> Ubuntu) puede utilizar sin inconvenientes UnixODBC y acceder al motor.
>
> Pero cualquier aplicacion que corra sobre Wine NO PUEDE UTILIZAR el
> UnixODBC, aunque si se configura en el Wine que el ODBC es el interno de
> Wine, el DSN creado en UnixODBC se ve pero al querer utilizarlo da error...
> y si se utiliza el Oledb, en esta misma situacion con el DSN creado en
> UnixODBC, se conecta pero pero al querer recorrer el recordset da error
> C0000005 alegando que el objeto esta corrupto.
>
> Si se arma un programa de test en Monodevelop, desde Ubuntu funciona
> perfectamente, pero si se ejecuta desde Wine no funciona, aunque si
> funciona si se ejecuta desde Windows, evidentemente el Wine pone una pared
> que no es posible atravesar.
>
> Ahora estoy intentanto un XP sobre VirtualBox en Ubuntu, pero si anda y le
> tengo mucha fe, viola todas las licencias...
>
> He revisado y algunos han probado CrossOver con mucho exito, pero no es
> gratis, de modo que no es una alternativa viable.
>
> Es evidente que si logro con VirtualBox solucionar la conectividad, debo
> apresurar los tiempos para la migracion a Mono, porque si bien se soluciona
> el problema de conectividad, es un pache muy grosero para dejarlo en una
> instalacion...
>
> En fin los mantengo informados.
>
> Saludos,
>
> Pancho
> Cordoba
>
>
> El 21 de marzo de 2014, 18:54, Pablo Lillia <pablofer72 en yahoo.com.ar>escribió:
>
> El 21/03/14 09:14, francisco prieto escribió:
>>
>> Pablo,
>>>
>>> Ya he elegido Mono para migrar, pero lo que ocurre es que este cliente
>>> era fanatico de Microsoft y nunca le podia plantear ninguna tecnologia
>>> fuera de Microsoft, estaba yendo muy cuidadosamente para elegir el momento
>>> de migrar aunque sea a Visual Studio...
>>>
>>>
>> Los fanatismos jamás llevan a nada bueno :). Pero bueno, conozco esas
>> situaciones.
>>
>>
>> Pero a veces las cosas cambian de un dia para otro y por mas que hubiera
>>> ya migrado a Visual Studio hoy estaria con el mismo problema...
>>>
>>> Yo no migraría a Visual Studio ni loco :D. Pero bueno, son
>> circunstancias.
>>
>>
>> Por otra parte no puedo creer que en todo este tiempo ni en el foro de
>>> Ubuntu, ni en los foros de VFP, ninguno haya tenido problemas para
>>> conectarse desde Ubuntu a SQLServer....
>>>
>>
>> Es que cada vez será más difícil conseguir soporte y ayuda para VFP,
>> porque habrá cada vez menor actividad. Igual insistiría en foros y listas
>> específicas sobre programación en VFP, para buscar más info.
>>
>>
>>
>>> Alejandro Paccioti, amablemente investigo un poco y me paso una forma de
>>> conectarse con ODBCLinux pero me da este error:
>>>
>>> Te trascribo exactamente lo que hice y dice
>>>
>>> javier en Caronte:~$ sudo apt-get install freetds-bin
>>> [sudo] password for javier:
>>> Leyendo lista de paquetes... Hecho
>>> Creando árbol de dependencias
>>> Leyendo la información de estado... Hecho
>>> freetds-bin ya está en su versión más reciente.
>>> 0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.
>>> javier en Caronte:~$ tsql -H TAZENDA\SQLSTDR2 -p 1450 -U UsuarioSQL -P
>>> ClaveUsrSQL
>>> Error 20012 (severity 2):
>>> Server name not found in configuration files.
>>> locale is "es_AR.UTF-8"
>>> locale charset is "UTF-8"
>>> using default charset "UTF-8"
>>> Error 20013 (severity 2):
>>> Unknown host machine name.
>>> There was a problem connecting to the server
>>> javier en Caronte:~$
>>>
>>> y despues hice
>>>
>>> javier en Caronte:~$ tsql -H 192.168.1.102\SQLSTDR2 -p 1450 -U UsuarioSQL
>>> -P ClaveUsrSQL
>>> Error 20012 (severity 2):
>>> Server name not found in configuration files.
>>> locale is "es_AR.UTF-8"
>>> locale charset is "UTF-8"
>>> using default charset "UTF-8"
>>> Error 20013 (severity 2):
>>> Unknown host machine name.
>>> There was a problem connecting to the server
>>> javier en Caronte:~$
>>>
>>>
>> El mensaje dice que no resuelve el host name. Veo que el parámetro -H
>> significa "host" (nombre de máquina) y como le pasas una IP no lo entiende,
>> entiendo que trata de resolverla igual como host, y entonces falla. Proba
>> con el parámetro -S (será de address? de server? no se) para indicar una IP
>> de acuerdo a algún ejemplo que vi por ahí. Sino mira bien la documentación
>> del tsql para confirmar cada parámetro que va.
>>
>>
>> Si pruebo sin el nombre de la instancia, que debe ir porque puedo tener
>>> muchas instancias en SQL...
>>>
>>> tsql -H 192.168.1.102 -p 1450 -U UsuarioSQL -P ClaveUsrSQL
>>> locale is "es_AR.UTF-8"
>>> locale charset is "UTF-8"
>>> using default charset "UTF-8"
>>> Error 20009 (severity 9):
>>> Unable to connect: Adaptive Server is unavailable or does not exist
>>> OS error 111, "Conexión rehusada"
>>> There was a problem connecting to the server
>>>
>>> Ahi reconoce el servidor pero para mi lo rechaza porque no estoy
>>> especificando la instancia
>>>
>>
>> Proba cambiar la versión del protocolo, parece que varía según la versión
>> de MS SQL Server. Fijate esta pregunta de SO: http://stackoverflow.com/
>> questions/16394829/unable-to-connect-adaptive-server-is-
>> unavailable-or-does-not-exist
>>
>>
>>
>>> Y te aclaro que con SAMBA no solo veo Tazenda sino que ademas pude hacer
>>> una unidad virtual, que incluso veo desde Wine
>>>
>>> Falta algo evidentemente.
>>>
>>> Aca dan una punta donde hablan de una intancia.
>>>
>>> http://stackoverflow.com/questions/8511369/adaptive-
>>> server-is-unavailable-or-does-not-exist-error-connecting-to-sql-serve
>>>
>>> Ya segui los pasos del link y revise cada uno de los archivos, es decir
>>> el freetds.conf y el odbc.ini.
>>>
>>> Y no se conecta. SIEMPRE da error.
>>>
>>>
>> En esa pregunta dice que logró conectarse a una BBDD, pero no a otra.
>> Sospecho que podría ser lo mismo que comentaba anteriormente: diferentes
>> versiones del protocolo en cada servidor (distintas versiones de MSSQL) y
>> no se entiende con el cliente. No estoy seguro, pero es un pálpito para
>> probar. No sería raro.
>>
>>
>> Incluso probe en la instalacion del cliente por si era un problema en mi
>>> red.
>>>
>>> Y ya no es un problema ni de Wine ni de VFP, porque el ODBCunix corre
>>> directamente sobre UBUNTU...
>>>
>>> La idea de Alejandro que por eso me gusto era:
>>>
>>> 1) Conectar primero SQLServer con ODBCunix y de esa forma se evitaban
>>> intermediarios
>>> 2) Conectar ODBC de Wine con ODBCUnix (que hay varios articulos respecto
>>> de eso)
>>>
>>> En fin voy a seguir investigando, incluso se me ocurre probar si desde
>>> Mono y sin intermediarios me puedo comunicar con SqlServer... ya veremos y
>>> en dicho caso me har{e un driver...
>>>
>>> Los mantengo informado.
>>>
>>> Saludos,
>>>
>>> Pancho
>>>
>>>
>>>
>> Si entendí, vas a usar Mono (C# ?) para los nuevos desarrollos,
>> conectándote a un servidor MSSQL en un Windows Server o similar.
>>
>> Y por otro lado, vas a correr las aplicaciones heredades de VFP sobre
>> wine. El VFP está usando Adodb para armar la conexión. En este caso usarías
>> una conexión ODBCUnix como puente para conectarte también al MSSQL desde el
>> Adodb de VFP. Lo que estás probando sería esto último, no?
>>
>> Saludos,
>>
>> Pablo
>>
>>
>> --
>> Ubuntu-ar lista de correo
>> Ubuntu-ar en lists.ubuntu.com
>> Modifica tus opciones o desuscribite en: https://lists.ubuntu.com/
>> mailman/listinfo/ubuntu-ar
>> Siempre leer, comprender y aplicar nuestra etiqueta:
>> https://wiki.ubuntu.com/ArgentinaTeam/EtiquetaML
>>
>>
>
------------ pr?xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.ubuntu.com/archives/ubuntu-ar/attachments/20140323/00a938bd/attachment.html>
More information about the Ubuntu-ar
mailing list