Manejo de Inicios de Sesi贸n desde VFP
tengo una BD en SQLServer, tengo definidos los inicios de sesi贸n, he tratado de utilizar el SQLCONNECT y SQLSTRINCONNECT( ), pero no resulta con ninguno, si alguien tuviese un codigo y me pudiera ayudar se lo agradeceria muchisimo
Que tal Dery.
Para trabajar con SQL Server debes tener creada una conecci贸n a tu servidor de datos en el administrador de ODBC.
Esta es la respuesta que di hace algunos dias a un compa帽ero.
Para trabajar con SQL Server tenes que hacer lo siguiente.
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- Creas una base de datos asi.
Create database <Nombre de la DB>
3- Creas una conecci贸n con la siguiente instrucci贸n.
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 conecci贸n a tu base de datos en el 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.
Espero haberme explicado bien y que te sirva todo esto.
Si necesitas mas ayuda avisas.
Alex Vargas
Para trabajar con SQL Server debes tener creada una conecci贸n a tu servidor de datos en el administrador de ODBC.
Esta es la respuesta que di hace algunos dias a un compa帽ero.
Para trabajar con SQL Server tenes que hacer lo siguiente.
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- Creas una base de datos asi.
Create database <Nombre de la DB>
3- Creas una conecci贸n con la siguiente instrucci贸n.
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 conecci贸n a tu base de datos en el 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.
Espero haberme explicado bien y que te sirva todo esto.
Si necesitas mas ayuda avisas.
Alex Vargas
