Establecer Conexion de VFP a SQL SERVER 2009R2

748 views
Skip to first unread message

Integral

unread,
Feb 11, 2017, 6:27:13 PM2/11/17
to Mundo Visual FoxPro
Que tal Amigos del Foro.

Recurro a ustedes para hecerles unas consultas sobre una duda que tengo sobre el tema de realizar conexiones desde VFP 9.0 a SQL SERVER 2008R2, encontre un articulo que indica lo siguiente y quisiera la opinion de algun conocedor del tema...

Estableciendo la conexión al Servidor :
Para acceder a una fuente de datos externa podemos usar ODBC o algún
controlador interno (OLEDB).

Windows provee de un conjunto de controladores mediante los cuales podemos
acceder a fuentes de datos foráneas de tipo relacional, ya sea para actualización o
consulta, operación que se realiza desde el Administrador ODBC.

El procedimiento consiste en crear un DSN (Data Source Name) u Origen de Datos.

1. Diríjase al Panel de Control y haga doble click en el icono ODBC 32 Bits

Puede crear tres tipos de DSN:
 DSN de usuario, podrá ser usado solo por el usuario que lo creó
 DSN de sistema podrá ser usado por cualquier usuario de esa PC
 DSN de archivo generará un archivo el que luego podrá trasladarse como

archivo con extensión DSN a otra PC.

Existen otras formas de conexion y cual es la mas rapida y facil de establecer una conexion...

Agradezco sus comentarios y sugerencias

Saludos.

INTEGRAL
  

Aaron varon

unread,
Feb 11, 2017, 6:35:16 PM2/11/17
to Mundo Visual FoxPro
Hola Integral, yo conozco dos formas de conectarme a Vfox, oledb y odbc.
Oledb nunca usé, pero en la web hay ejemplos de como hacerlo, yo trabajo con el segundo, que es el ODBC.

Casi en todas las PC con Windows traen un driver SQLClient para odbc, de lo contrario lo descargo e instalo en la pc cliente, y no es necesario en cada pc configurar el odbc, lo conecto mediante =SQLSTRINGCONNECT(cCadenaConexion).

Espero te ayude.


Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 016817131 /  RPM: #978517182


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfoxpro+unsubscribe@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Integral

unread,
Feb 12, 2017, 2:46:05 PM2/12/17
to Mundo Visual FoxPro

Que tal Amigo VARON :

Gracias por tus comentarios, quisiera aprender a utilizar la forma mas practica para  conectarme desde VFP 9.0 a SQL SERVER 2008R2 y como utilizar el SQLEXEC

Tendrás algún ejemplo si no es mucho pedirte de VFP donde se realice la conexion y ademas poder realizar cualquier consulta o modificación de una tabla...

Agradezco vuestra ayuda.

Saludos,

INTEGRAL

Aaron varon

unread,
Feb 12, 2017, 5:39:02 PM2/12/17
to Mundo Visual FoxPro
Hola Integral aqui chambeando un domingo...
Bueno adjunto una función que uso para conectarme a la bd,  y la cadena de conexión lo guardo en un archivo que tb adjunto.
Además las cadenas de conexiones de todas los motores de base de datos como oracle, firebird, mysql, etc aqui están:


FUNCTION AbrirBD
  LOCAL nConexion,cCadenaConexion,cArchivo
  cArchivo="Control.Inf"
  IF NOT FILE(cArchivo) THEN
    MsgError("No se encuentra el archivo "+cArchivo)
    RETURN(-1)
  ELSE
    cCadenaConexion=LeerControl(cArchivo)
  ENDIF
  WAIT WINDOW "Conectándose a la Base de Datos, espere unos momentos por favor..." NOWAIT
  =SQLSETPROP(0,"DispLogin",3)
  nConexion=SQLSTRINGCONNECT(cCadenaConexion)
  IF nConexion=-1 THEN
    =AERROR(VecErr)
    MsgError("No se puede conectar con la Base de Datos"+CHR(13)+CHR(10)+;
      cCadenaConexion+CHR(13)+CHR(10)+"El siguiente Error: "+VecErr(1,3))
  ELSE
    WAIT WINDOW "Base de Datos conectada y preparada para su uso" NOWAIT
  ENDIF
RETURN(nConexion)



Si te das cuenta estoy usando el driver nativo: SQLServerNativeClient 10.0

Espero te sirva de guía.



Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 016817131 /  RPM: #978517182


--
Control.inf

Integral

unread,
Feb 13, 2017, 7:46:38 AM2/13/17
to Mundo Visual FoxPro

Gracias mi Estimado Amigo por el Ejemplo...

Solo una pregunta mas :

Para realizar la conexión a tu Base de Datos te conectas con DNS o sin DNS. Es decir abrir el Panel de Control, Herramientas administrativas, Orígenes de datos ODBC, DNS de sistema.

Cua es tu forma de conexion 

Lei un comentario del colega WALTER OJEDA que decia 

A tu Base de Datos puedes conectarte con DNS o sin DNS. 
Inclusive, lo recomendable suele ser conectarse sin DNS,

Agradesco tus comentarios

Saludos,

INTEGRAL



El sábado, 11 de febrero de 2017, 18:27:13 (UTC-5), Integral escribió:

Aaron varon

unread,
Feb 13, 2017, 10:02:52 AM2/13/17
to Mundo Visual FoxPro
Hola Integral buenos días, la conexión lo hago sin DNS, no configuro nada en Herramientas administrativas ODBC, como te mencioné la función SQLSTRINGCONNECT hace ese trabajo desde vfox.


Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 016817131 /  RPM: #978517182


--

mhlezama

unread,
Apr 23, 2017, 1:21:51 PM4/23/17
to Mundo Visual FoxPro
Tienes un ejemplo corto?

Aaron varon

unread,
Jun 2, 2017, 8:12:12 PM6/2/17
to Mundo Visual FoxPro
Estimado Mario, acabo de adjuntar el ejemplo donde no el usuario no configura el odbc en el cliente, solo se instala el driver a usar para el gestor de base de datos.



Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 016817131 /  RPM: #978517182


El 23 de abril de 2017, 12:21, mhlezama <mhle...@gmail.com> escribió:
Tienes un ejemplo corto?


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.

Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfoxpro+unsubscribe@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

evera

unread,
Jun 3, 2017, 5:26:25 PM6/3/17
to Mundo Visual FoxPro
Gracias por el dato
Pero tendrás un ejemplo del: "DSN de archivo generará un archivo el que luego podrá trasladarse como"

evera

unread,
Jun 3, 2017, 5:29:08 PM6/3/17
to Mundo Visual FoxPro
Leercontrol()???

---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfox...@googlegroups.com.

Aaron varon

unread,
Jun 3, 2017, 11:23:20 PM6/3/17
to Mundo Visual FoxPro
Hola Evera, en el ejemplo que adjunté estoy trabajando con un archivo *.inf donde guardo la cadena de conexión y no es necesario una configuracion por odbc.



---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.

Er Coto

unread,
Jun 4, 2017, 8:20:53 AM6/4/17
to mundovis...@googlegroups.com
Gracias por responder amigo Aaron
Mi duda no es con el ejemplo que está excelente, es que quisiera saber qué hace leercontrol (), debe ser una función tuya?!

Aaron varon

unread,
Jun 4, 2017, 12:38:56 PM6/4/17
to Mundo Visual FoxPro
Estimado Erwin, LeerControl() es una función definida por mi.

La función LeerControl lo que hace es leer el contenido del archivo Control.inf, y para este caso el contenido es la cadena de conexión de bd para mySQL.
Imágenes integradas 6

Luego uso la función AbrirBD(), que permite abrir la conexión con la bd, y cada vez que se abre conexión invoca a la funcion LeerControl() que retorna la cadena de conexión.

Imágenes integradas 3

Espero haber apoyado, luego les paso un ejemplo donde la cadena de conexión lo tengo en un archivo dbf encriptado, y esto es seguro para algunos usuarios avanzados o personas ajenas desean ingresar a nuestro server de bd.

Que tengan un bueno domingo familiar...






Saludos cordiales;

DELGADO JAIMES, Roberto Aarón
Fijo: 016817131 /  RPM: #978517182



---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:

---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:

---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a mundovisualfoxpro+unsubscribe@googlegroups.com.

Oscar Bonet

unread,
Jun 4, 2017, 3:05:53 PM6/4/17
to mundovisualfoxpro@googlegroups com
y para aquello del nombre de la base de datos, usuario, contraseña y servidor?    como lo manejas sin que amigos hackcuriosos no lo vean pero si para administradores del sistema si?

_________________
Oscar 

Aaron varon

unread,
Jun 4, 2017, 3:36:58 PM6/4/17
to Mundo Visual FoxPro
Muy buena pregunta, eso me hace recordar a Kevin Mitnick "dame un terminal y yo entraré", bueno todo se puede hackear.

Tb tengo en otra app, una interfaz que solo sabe el administrador y puede cambiar la cadena de conexion y esto está encriptado.

Reply all
Reply to author
Forward
0 new messages