|
09/07/2008
Experto
|
Buenos dias, bueno, SQL2000 seria SQL SERVER de Microsoft Verdad, bueno, en este caso vas a programar en modo Cliente Servidor, no utilizarás la base nativa de foxpro DBC/DBF, Ok, comencemos:
Primero los 14 accesos a tu programa no es problema, puedes crear accesos directos a ella desde las 14 aulas y listo, o copias cada ejecutable de tu programa en las 14 aulas y de ahi se ejecutan, no tendras que compartir disco ni nada porque programaremos en Cliente Servidor. Pero vamos a lo mas importante, como hacer hablar vfp y sql2000
Hay varias formas, los mas populares son el ADO y el ODBC, te mostrare el segundo. La conexión ODBC se realiza mediante una interfaz estandar de conexion que todos las bases de datos poseen y se instalan con ella, si entras a panel de control - herramientas administrativas Conexiones u origenes de datos ODBC veras un listado, el sqlserver siempre viene instalado con windows, sino, debes bajarlo de su pagina, es ahi donde empiezas, comienzas a crear tu conexion; hasta aqui nada de vfp, le das agregar, te aparece una lista, ahi buscas SQLSERVER o lo que tengas para esa BD, yo ahora tengo SQLSERVER y te dire los parametros que tengo: NOMBRE DEL ORIGEN DE DATOS: es muy importante por que VFP le buscara por este dato, supongamos que le pusiste Asistencia, DESCRIPCION: lo que quieras, SERVIDOR: este si, seria la IP o el Nombre de tu Windows 2000 en donde esta instalado el SQL, es muy importante, luego te pide la autenticacion, puede elegir LA AUTENTICACION DE WINDOWS DE CONFIANZA o la de SQL SERVER, si usas la primera significa que usara el usuario de windows sino debes tener un usuario en SQL con contraseña y sus permisos, LUEGO EL NOMBRE DE TU BASE DE DATOS, con esto ya creas tu conexion, recuerda que debes tener todo listo tu SQL2000 para que esto te cree debido a la prueba que el hara al finalizar la conexion, si es satisfactorio OK, entonces pasemos a VFP.
Vfp utilizara el nombre de la conexion para buscarle a la base de datos, en este caso ASISTENCIA, para ello debes usar la funcion SQLCONNEC(), esta funcion te conecta con una base de datos externa, (MYSQL ORACLE DB2,etc ), y pudes utilizarlo sin parametros, asi te abrira la lista de conexiones que tienes y eliges asistencia, lo directamente =SQLCONNEC('Asistencia') y listo, esto tiene mas parametros pero aqui no tenemos mucho espacio, debes mirar la ayuda de vfp y veras, bueno, esto funcion asi: xApunta = sqlconnec('Asistencia') con esto creas la variable xApunta que sera el controlador de conexion a la base de datos, y todo lo que quieras hacer en la base de datos deberas hacerlo mediante esta variable, el el quien sabe el camino, pues de aqui solo viene una funcion mas importante, SQLEXEC(), esta funcion es la que envia los comando a la base de datos, ej: =SQLEXEC(xApunta," select * from alumnos","cursorAlumnos") esta funcion devuelve positivo si tuvo exito, y te creara un cursor de memoria de lectura escritura llamada cursorAlumno que traera del SQL, ok, son solo tres pasos lo que haces para trabajar en SQL2000 en VFP.
=sqlconnec(el nombre de conexion) te conectas
=sqlexec(xApunta," el comando ","el cursor de resultado") envias los comandos, agregar, borrar registros, querys etc.
=sqldisconnec(xApunta) al finalizar tu programa te desconectas,
PD: Es muy importante que la variable xApunta sea publica, asi te conectas al entrar nada mas, y todos tus formularios lo utilizan como el mediador. Bueno, tu pregunta es muy extensa, mi fuerte es mysql no SQLSERVER, si aun no manejas SQL2000 debes ver algun buen manual para instalar , crear las bases de datos etc, este es otro lado, el programador en CLIENTE SERVIDOR ademas de conocer su lenguaje debe conocer su Motor de Bases de Datos (SQL SERVER,MYSQL ORACLE etc), ah, por ultimo no se si entendi, pero si tu tienes un programa ya creado pero con DBF para migrar los dbf a sqlserver hay una infinidad de herramientas gratuitas en la red para hacer directamente sin perder los datos inclusive, pero si estas empezando de Cero, olvida los DBF, comienza a leer sql para crear las tablas ahi directamente.
Espero que sea de ayuda, un saludo
|