Conexiones Odbc
les voy a decir que es lo que quieren que haga.
Realizar un sistema de inventario, en VFP, con bases de datos en SQLSERVER.
La realidad es que he trabajado con las tablas de VFP y domino excelentemente los comandos, donde tengo problema es con BDSql Sever.
Quiero hacerles varias preguntas.
1-Como Crear una Conexion ODBC de manera programada, Sin necesidad de realizarlo de manera manual en cada una de las maquinas donde instale el sistema?
2-la BD se encuentra en la siguiente ruta \Servidorinventario, como hacer para que ala hora de ejecutar el sistema me busque en esa ruta la BD.
3-Como Puedo Insertar, Eliminar Y Actualizar Datos en la BDSQLSErver?
PD:Si me puede enviar con codigo lo preguntado seria mucho mejor.
Realizar un sistema de inventario, en VFP, con bases de datos en SQLSERVER.
La realidad es que he trabajado con las tablas de VFP y domino excelentemente los comandos, donde tengo problema es con BDSql Sever.
Quiero hacerles varias preguntas.
1-Como Crear una Conexion ODBC de manera programada, Sin necesidad de realizarlo de manera manual en cada una de las maquinas donde instale el sistema?
2-la BD se encuentra en la siguiente ruta \Servidorinventario, como hacer para que ala hora de ejecutar el sistema me busque en esa ruta la BD.
3-Como Puedo Insertar, Eliminar Y Actualizar Datos en la BDSQLSErver?
PD:Si me puede enviar con codigo lo preguntado seria mucho mejor.
Que tal Denis.
Cuando trabajas con SQLServer u otras DB Manager, no se usan mapeos o la forma de localizaci贸n de datos regular, lo mejor es usando el ODBC Manager, en donde creas conexiones usano una direcci贸n IP, en este caso la de el servidor de datos.
Este es un ejemplo de como crear un origen de datos ODBC usando c贸digo desde VFP y otras cosillas que te ayudaran.
1- Esto te creara un origen de datos de SQL Server directamente en el Administrador de or铆genes de datos ODBC, este se llama por ejemplo Prueba
DECLARE Integer SQLConfigDataSource IN odbccp32.dll ;
Integer, Short, String @, String @
ODBC_ADD_SYS_DSN = 1
cdriver = "SQL Server" + CHR(0)
cdsn = "dsn=Prueba" + CHR(0) + ;
"Description=Conexion de Prueba" + CHR(0) + ;
"Server=Avargas" + CHR(0) + ;
"Trusted_Connection=Yes" + CHR(0) + ;
"Database=PRUEBA"
? SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, @cdriver, @cdsn)
*-----------------------------------------------------------------------------------------------------
2- Debes crear una base de datos DBC local en el directorio en donde tenes tu proyecto asi.
Create database <Nombre de la DB>
*-----------------------------------------------------------------------------------------------------
3- Abris la DBC y Creas una conecci贸n con la siguiente instrucci贸n (Conexi贸n de tu DBC utilizando el Origen de datos que creaste en el paso 1).
OPEN DATABASE <Nombre de la DB>
CREATE CONNECTION <Nombre de coneccion> DATASOURCE "Prueba" USERID "sa"
= DBSETPROP("Prueba", "Connection", "DispLogin",3)
= DBSETPROP("Prueba", "Connection", "Userid","sa")
= DBSETPROP("Prueba", "Connection", "Database","<Nombre de la DB en SQL Server>")
Hasta este punto ya tenes listo el ODBC y has creado una conexi贸n de tu base DBC a la DB en SQL Server.
*-----------------------------------------------------------------------------------------------------
4- Para consultar y actualizar las bases de datos remotas, debes crear vistas en las asi:
Esto es para una vista de consulta no de actualizaci贸n.
CREATE SQL VIEW <Nombre del View> ;
CONNECTION <Nombre de coneccion> SHARE ;
AS SELECT * FROM <Tabla en SQL Server> ;
WHERE <Campo tabla>=<Lo que necesites condicionar> && no es obligatorio
Esto es para una vista de actualizaci贸n.
CREATE SQL VIEW <Nombre del View> ;
CONNECTION <Nombre de coneccion> SHARE ;
AS SELECT * FROM <Tabla en SQL Server> ;
WHERE <Campo tabla>=<Lo que necesites condicionar> && no es obligatorio
= DBSETPROP("<Tabla.campo>", "Field", "KeyField", .t.) && este ser谩 en Key
= DBSETPROP("<Nombre del view", "View", "SendUpdates",.t.) && esto hace que podas modificar o agregar datos
= DBSETPROP("<Tabla.Campo>", "Field", "Updatable", .t.) && El valor de este campo es modificable
= DBSETPROP("<Nombre del view>", 'View', 'Comment', "<Comentario>") && un comentario en para el view no es obligatorio.
OjO.
** Esto = DBSETPROP("<Nombre del view", "View", "SendUpdates",.t.) solo lo escribiras una vez y en los view para hacer modificaciones o agregados de datos.
** Esto = DBSETPROP("<Tabla.Campo>", "Field", "Updatable", .t.) && El valor lo escribiras en cada campo en el que necesites agregar o modificar datos, si son 10 campos amodificar, deberas escribir esta linea para cada campo.
Cuando se necesita insertar nuevos registros, lo mas conveniente es poner como modificables todos los campos.
si te queres ahorrar todo el codigo para los views
pone en uso la base de datos local que creaste y escribi lo sigte.
A- Create View Remote
B- Aparece marcado por defecto Connections en la parte inferior, Seleccionas la conecci贸n que quieras.
Si queres trabajar directamente con el ODBC, marca Available data sources, y seleccionas el origen de datos deseado.
C-OK
D-Seleccionas la tabla deseada
E-Add
F-Seleccionas cada uno de los campos que querras accesar.
G-En el tab Update criteria, definiras los campos que seran Key y los que se actualizaran.
H- N olvides marcar Send SQL updates para que tus cambios en datos tengan efecto.
I- los otros tabs muestran claramente su utilidad, Filtros, Ordenes, Grupo Etc.
Si necesitas mas ayuda estamos a la orden.
Alex Vargas
Cuando trabajas con SQLServer u otras DB Manager, no se usan mapeos o la forma de localizaci贸n de datos regular, lo mejor es usando el ODBC Manager, en donde creas conexiones usano una direcci贸n IP, en este caso la de el servidor de datos.
Este es un ejemplo de como crear un origen de datos ODBC usando c贸digo desde VFP y otras cosillas que te ayudaran.
1- Esto te creara un origen de datos de SQL Server directamente en el Administrador de or铆genes de datos ODBC, este se llama por ejemplo Prueba
DECLARE Integer SQLConfigDataSource IN odbccp32.dll ;
Integer, Short, String @, String @
ODBC_ADD_SYS_DSN = 1
cdriver = "SQL Server" + CHR(0)
cdsn = "dsn=Prueba" + CHR(0) + ;
"Description=Conexion de Prueba" + CHR(0) + ;
"Server=Avargas" + CHR(0) + ;
"Trusted_Connection=Yes" + CHR(0) + ;
"Database=PRUEBA"
? SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, @cdriver, @cdsn)
*-----------------------------------------------------------------------------------------------------
2- Debes crear una base de datos DBC local en el directorio en donde tenes tu proyecto asi.
Create database <Nombre de la DB>
*-----------------------------------------------------------------------------------------------------
3- Abris la DBC y Creas una conecci贸n con la siguiente instrucci贸n (Conexi贸n de tu DBC utilizando el Origen de datos que creaste en el paso 1).
OPEN DATABASE <Nombre de la DB>
CREATE CONNECTION <Nombre de coneccion> DATASOURCE "Prueba" USERID "sa"
= DBSETPROP("Prueba", "Connection", "DispLogin",3)
= DBSETPROP("Prueba", "Connection", "Userid","sa")
= DBSETPROP("Prueba", "Connection", "Database","<Nombre de la DB en SQL Server>")
Hasta este punto ya tenes listo el ODBC y has creado una conexi贸n de tu base DBC a la DB en SQL Server.
*-----------------------------------------------------------------------------------------------------
4- Para consultar y actualizar las bases de datos remotas, debes crear vistas en las asi:
Esto es para una vista de consulta no de actualizaci贸n.
CREATE SQL VIEW <Nombre del View> ;
CONNECTION <Nombre de coneccion> SHARE ;
AS SELECT * FROM <Tabla en SQL Server> ;
WHERE <Campo tabla>=<Lo que necesites condicionar> && no es obligatorio
Esto es para una vista de actualizaci贸n.
CREATE SQL VIEW <Nombre del View> ;
CONNECTION <Nombre de coneccion> SHARE ;
AS SELECT * FROM <Tabla en SQL Server> ;
WHERE <Campo tabla>=<Lo que necesites condicionar> && no es obligatorio
= DBSETPROP("<Tabla.campo>", "Field", "KeyField", .t.) && este ser谩 en Key
= DBSETPROP("<Nombre del view", "View", "SendUpdates",.t.) && esto hace que podas modificar o agregar datos
= DBSETPROP("<Tabla.Campo>", "Field", "Updatable", .t.) && El valor de este campo es modificable
= DBSETPROP("<Nombre del view>", 'View', 'Comment', "<Comentario>") && un comentario en para el view no es obligatorio.
OjO.
** Esto = DBSETPROP("<Nombre del view", "View", "SendUpdates",.t.) solo lo escribiras una vez y en los view para hacer modificaciones o agregados de datos.
** Esto = DBSETPROP("<Tabla.Campo>", "Field", "Updatable", .t.) && El valor lo escribiras en cada campo en el que necesites agregar o modificar datos, si son 10 campos amodificar, deberas escribir esta linea para cada campo.
Cuando se necesita insertar nuevos registros, lo mas conveniente es poner como modificables todos los campos.
si te queres ahorrar todo el codigo para los views
pone en uso la base de datos local que creaste y escribi lo sigte.
A- Create View Remote
B- Aparece marcado por defecto Connections en la parte inferior, Seleccionas la conecci贸n que quieras.
Si queres trabajar directamente con el ODBC, marca Available data sources, y seleccionas el origen de datos deseado.
C-OK
D-Seleccionas la tabla deseada
E-Add
F-Seleccionas cada uno de los campos que querras accesar.
G-En el tab Update criteria, definiras los campos que seran Key y los que se actualizaran.
H- N olvides marcar Send SQL updates para que tus cambios en datos tengan efecto.
I- los otros tabs muestran claramente su utilidad, Filtros, Ordenes, Grupo Etc.
Si necesitas mas ayuda estamos a la orden.
Alex Vargas
