<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div>Chicos,<br><br></div>Perdonen ante todo como arranco este mail...<br><br></div>IUPiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!! Lo lgrr{e Y es para  ponerlo con luces de Colores y en todos los idomas....<br>

<br></div>Por si se preguntan que logre les respondo...<br><br></div>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.<br><br></div>

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...<br><br></div>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...<br>

<br> <a href="https://www.youtube.com/watch?feature=player_embedded&v=zXT935FB920">https://www.youtube.com/watch?feature=player_embedded&v=zXT935FB920</a><br><br></div>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...<br>

<br></div>Va a ver que en el video el flaco instala DCOMM98<br><br></div>que baje de aca...<br><br><a href="http://www.microsoft.com/en-us/download/confirmation.aspx?id=839">http://www.microsoft.com/en-us/download/confirmation.aspx?id=839</a><br>

<br></div>y MDAC 2.8 sp1 que baje de aca...<br><br><a href="http://www.microsoft.com/en-us/download/details.aspx?id=5793">http://www.microsoft.com/en-us/download/details.aspx?id=5793</a><br><br></div>Todo eso lo instale seteando al wine en Windows98 como dije, sino no los va a dejar instalar ...<br>

<br></div>Una vez que tienen el DSN realizado y funcionando... setean el Wine en Windows XP y estando asi, si hacen un programa como este...<br><br>lnConnHandle=SQLCONNECT('NombreDSN','Usuario','CLAVE')
<br>IF lnConnHandle < 0
<br>   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
<br>ELSE
<br>    lnRetVal = SQLEXEC(lnConnHandle, "SELECT * from MiTabla","cTabla")
<br>    SELECT cTabla
<br>    browse
<br> <br>   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
<br>   = SQLDISCONNECT(lnConnHandle)
<br>ENDIF<br><br></div>Funcionara perfectamente, ahora si hace mediante cadena de conexion es decir de esta forma...<br><br>lcDSNLess="DRIVER=SQL Server;SERVER=192.168.1.108,1433;UID=Usuario;PWD=Clave;DATABASE=MiBase;APP=Microsoft (R) Visual FoxPro;DESCRIPTION=Aplicaciones VFP"
<br>lnConnHandle=SQLSTRINGCONNECT(lcDSNLess)
<br>IF lnConnHandle < 0
<br>   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
<br>ELSE
<br>    lnRetVal = SQLEXEC(lnConnHandle, "SELECT * from MiTabla","cTabla")
<br>    SELECT cTabla
<br>    browse
<br> <br>   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
<br>   = SQLDISCONNECT(lnConnHandle)
<br>ENDIF<br><div><br></div><div>Les va a decir que la direccion no es accesible.<br><br></div><div>Tambien he probado de utilzar la conexion DSN con ADODB.Connection y da el siguiente error:<br><br>Código de excepción OLE IDispatch 0 de ADODB.Connection: ?.<br>

<br></div><div>Bueno, espero que a todos les sirva mi aporte,<br><br></div><div>Por mi parte ahora debo, cambiar mi forma de trabajo cuando estoy bajo Wine, ya que ven{ia usando ADODB y debo utiliza SQLConnect.<br><br></div>

<div>Con esto cierro exitoso mi propia consulta.<br><br></div><div>Saludos,<br><br></div><div>Pancho,<br></div><div>Cordoba<br></div><div><br></div><div><div><div><div><br></div></div></div></div></div><div class="gmail_extra">

<br><br><div class="gmail_quote">El 22 de marzo de 2014, 20:41, francisco prieto <span dir="ltr"><<a href="mailto:fajprieto@gmail.com" target="_blank">fajprieto@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Gracias a la ayuda de Alejandro Pacciotti pude resolver la conectividad entre MSSqlServer 2008 R2 y UnixODBC... <br><br></div>Cualquier aplicacion que corra directamente sobre Linux (en mi caso Ubuntu) puede utilizar sin inconvenientes UnixODBC y acceder al motor.<br>


<br></div>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.<br>


<br></div>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.<br>


<br></div>Ahora estoy intentanto un XP sobre VirtualBox en Ubuntu, pero si anda y le tengo mucha fe, viola todas las licencias...<br><br></div>He revisado y algunos han probado CrossOver con mucho exito, pero no es gratis, de modo que no es una alternativa viable.<br>


<br></div>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...<br>


<br></div>En fin los mantengo informados.<br><br></div>Saludos,<br><br></div>Pancho<br></div>Cordoba<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">El 21 de marzo de 2014, 18:54, Pablo Lillia <span dir="ltr"><<a href="mailto:pablofer72@yahoo.com.ar" target="_blank">pablofer72@yahoo.com.ar</a>></span> escribió:<div>

<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El 21/03/14 09:14, francisco prieto escribió:<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Pablo,<br>
<br>
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...<br>



<br>
</blockquote>
<br></div>
Los fanatismos jamás llevan a nada bueno :). Pero bueno, conozco esas situaciones.<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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...<br>
<br>
</blockquote></div>
Yo no migraría a Visual Studio ni loco :D. Pero bueno, son circunstancias.<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
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....<br>
</blockquote>
<br></div>
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.<div><div>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Alejandro Paccioti, amablemente investigo un poco y me paso una forma de conectarse con ODBCLinux pero me da este error:<br>
<br>
Te trascribo exactamente lo que hice y dice<br>
<br>
javier@Caronte:~$ sudo apt-get install freetds-bin<br>
[sudo] password for javier:<br>
Leyendo lista de paquetes... Hecho<br>
Creando árbol de dependencias<br>
Leyendo la información de estado... Hecho<br>
freetds-bin ya está en su versión más reciente.<br>
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.<br>
javier@Caronte:~$ tsql -H TAZENDA\SQLSTDR2 -p 1450 -U UsuarioSQL -P ClaveUsrSQL<br>
Error 20012 (severity 2):<br>
    Server name not found in configuration files.<br>
locale is "es_AR.UTF-8"<br>
locale charset is "UTF-8"<br>
using default charset "UTF-8"<br>
Error 20013 (severity 2):<br>
    Unknown host machine name.<br>
There was a problem connecting to the server<br>
javier@Caronte:~$<br>
<br>
y despues hice<br>
<br>
javier@Caronte:~$ tsql -H 192.168.1.102\SQLSTDR2 -p 1450 -U UsuarioSQL -P ClaveUsrSQL<br>
Error 20012 (severity 2):<br>
    Server name not found in configuration files.<br>
locale is "es_AR.UTF-8"<br>
locale charset is "UTF-8"<br>
using default charset "UTF-8"<br>
Error 20013 (severity 2):<br>
    Unknown host machine name.<br>
There was a problem connecting to the server<br>
javier@Caronte:~$<br>
<br>
</blockquote>
<br></div></div>
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.<div>


<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Si pruebo sin el nombre de la instancia, que debe ir porque puedo tener muchas instancias en SQL...<br>
<br>
 tsql -H 192.168.1.102 -p 1450 -U UsuarioSQL -P ClaveUsrSQL<br>
locale is "es_AR.UTF-8"<br>
locale charset is "UTF-8"<br>
using default charset "UTF-8"<br>
Error 20009 (severity 9):<br>
    Unable to connect: Adaptive Server is unavailable or does not exist<br>
    OS error 111, "Conexión rehusada"<br>
There was a problem connecting to the server<br>
<br>
Ahi reconoce el servidor pero para mi lo rechaza porque no estoy especificando la instancia<br>
</blockquote>
<br></div>
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: <a href="http://stackoverflow.com/questions/16394829/unable-to-connect-adaptive-server-is-unavailable-or-does-not-exist" target="_blank">http://stackoverflow.com/<u></u>questions/16394829/unable-to-<u></u>connect-adaptive-server-is-<u></u>unavailable-or-does-not-exist</a><div>


<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Y te aclaro que con SAMBA no solo veo Tazenda sino que ademas pude hacer una unidad virtual, que incluso veo desde Wine<br>
<br>
Falta algo evidentemente.<br>
<br>
Aca dan una punta donde hablan de una intancia.<br>
<br>
<a href="http://stackoverflow.com/questions/8511369/adaptive-server-is-unavailable-or-does-not-exist-error-connecting-to-sql-serve" target="_blank">http://stackoverflow.com/<u></u>questions/8511369/adaptive-<u></u>server-is-unavailable-or-does-<u></u>not-exist-error-connecting-to-<u></u>sql-serve</a><br>



<br>
Ya segui los pasos del link y revise cada uno de los archivos, es decir el freetds.conf y el odbc.ini.<br>
<br>
Y no se conecta. SIEMPRE da error.<br>
<br>
</blockquote>
<br></div>
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.<div>


<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Incluso probe en la instalacion del cliente por si era un problema en mi red.<br>
<br>
Y ya no es un problema ni de Wine ni de VFP, porque el ODBCunix corre directamente sobre UBUNTU...<br>
<br>
La idea de Alejandro que por eso me gusto era:<br>
<br>
1) Conectar primero SQLServer con ODBCunix y de esa forma se evitaban intermediarios<br>
2) Conectar ODBC de Wine con ODBCUnix (que hay varios articulos respecto de eso)<br>
<br>
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...<br>
<br>
Los mantengo informado.<br>
<br>
Saludos,<br>
<br>
Pancho<br>
<br>
<br>
</blockquote>
<br></div>
Si entendí, vas a usar Mono (C# ?) para los nuevos desarrollos, conectándote a un servidor MSSQL en un Windows Server o similar.<br>
<br>
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?<br>



<br>
Saludos,<div><div><br>
Pablo<br>
<br>
<br>
-- <br>
Ubuntu-ar lista de correo<br>
<a href="mailto:Ubuntu-ar@lists.ubuntu.com" target="_blank">Ubuntu-ar@lists.ubuntu.com</a><br>
Modifica tus opciones o desuscribite en: <a href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-ar" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/ubuntu-ar</a><br>
Siempre leer, comprender y aplicar nuestra etiqueta: <a href="https://wiki.ubuntu.com/ArgentinaTeam/EtiquetaML" target="_blank">https://wiki.ubuntu.com/<u></u>ArgentinaTeam/EtiquetaML</a><br>
<br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>