Procedure Attach
Parameters prmdbname
dbname=prmdbname
pathbd="C:\datos\"
pathmdf=pathbd+prmdbname+".MDF"
pathldf=pathbd+prmdbname+".LDF"
If File(pathmdf) And File(pathldf)
TEXT TO _sql TEXTMERGE NOSHOW PRETEXT 7
EXEC sp_attach_db @dbname = '<<dbname>>',
@filename1 = '<<pathmdf>>',
@filename2 = '<<pathldf>>'
ENDTEXT
If SQLEXEC(miconexion,_sql)>0
Wait Window "Se Acaba de de Attachar la Base
de Datos" +chr(13)+"<<PRESIONE ENTER>>"
Else
Wait Window "Error al intetar Attachar la
Base de Datos." +chr(13)+"<<PRESIONE ENTER>>"
Endif
Else
Wait Window "Los Archivos no existen"
Endif
Endproc
Procedure detach
Parameters prmdbname
databasename= prmdbname
sqlexec("exec sp_detach_db @dbname=?databasename ")>0
Wait Window "Se Acaba de Detachar la Base de Datos
"+databasename+chr(13)+"<<PRESIONE ENTER>>"
Else
Wait Window "Hubo un Error al Tratar de Detachar la
Base de Datos "+databasename+chr(13)+ "<<PRESIONE ENTER>>"
Endif
Endproc
_____________________________________________
De: [email protected] [mailto:[email protected]] En nombre de Norberto Mario
Alvarez
Enviado el: viernes, 30 de enero de 2009 20:51
Para: GUFA List Member
Asunto: [GUFA] RE: [GUFA] RE: [GUFA] Pasar Base de Datos VFP¨a SQL Express
Te lo agradecería muchísimo, si me enviaras el código.
Norberto Alavrez
_____________________________________________
De: [email protected] [mailto:[email protected]] En nombre de Amaro Ivan Silva
Enviado el: viernes, 30 de enero de 2009 12:28 p.m.
Para: GUFA List Member
Asunto: [GUFA] RE: [GUFA] Pasar Base de Datos VFP¨a SQL Express
Norberto:
Descargate el Microsoft SQL Server Management Studio Express
http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-
94B8-5A0F62BF7796&displaylang=es
Con esta herramienta podes manipular la base de datos en forma grafica
probablemente tengas un wizard para migrar (en caso de que no lo tenga la
que si lo tiene seguro es el administrador corporativo del SQL 2000), allí
podes detachar la bd en el path que la tenes actualmente copiar los archivos
.ldf y .mdf al directorio que quieras y con la función atachar la buscas en
el nuevo directorio y listo.-
El atach y detach Lo podes hacer por código si te sirve te lo puedo
facilitar.-
Suerte.-
________________________________________
De: [email protected] [mailto:[email protected]] En nombre de Norberto Mario
Alvarez
Enviado el: viernes, 30 de enero de 2009 13:15
Para: GUFA List Member
Asunto: [GUFA] Pasar Base de Datos VFP¨a SQL Express
Estimados Colisteros, no sabía que iba abrir un gran debate, pero me viene
bárbaro, ya que estoy comenzando a usar el SQL con Visual Fox. Urgando en
PortalFox encontré un código donde armo una conexión, doy de alta, elimino y
modifico un registro de una tabla en sql y como tengo instalado el SQL
Express, no se como encontró una base de datos que yo había creado, y
funcionó correctamente, lo cual me motivó a seguir preguntando. Con respecto
a mi pregunta "Pasar Base de Datos VFP¨a SQL Express", fue para saber si es
posible que una base de datos que tengo en VFP la puedo pasar directamente
por medio de una función, wizard, etc a SQL, evitando de armar tabla por
tabla. Y aprovechando el debate, la base de datos que yo arme, si la quiero
pasar a una carpeta determinada como hago y que tengo que alterar, ya que la
BD creada la tengo en C:\Archivos de Programa\Microsoft SQL
Server\MSSQL.1\MSSQL\Data. El ejemplo sería que la quiero en
C:\Sistema\Datos y poder instanciarla ahí desde el programa. El código que
encontré es el siguiente (OBDC), yo se que lo mejor es usar Cursor Adapter,
pero para comenzar incursionar en SQL me alcanza por ahora. Desde ya muchas
gracias y les advierto que los voy a llenar de preguntas.
Local lcconexion,lcejecutar
&& ESTABLECEMOS LA CONEXION DONDE
&& Dbq = ES EL NOMBRE DE LA BASE DE DATOS CON EL PATH
&& Uid = ES IGUAL AL NOMBRE DE USUARIO
&& Pwd = ES IGUAL A LA CLAVE
&& NOTA SI DESEARAS SOLAMENTE CONECTARTE A SQL SERVER DEBERIAS DE CAMBIAR
SENCILLAMENTE LA CONNECTIONSTRING NO MAS
&& DE RESTO TODO ES IGUAL RECUERDA QUE PARA CAMBIAR DE BASE DE DATOS EN SQL
SERVER ES:
&& SQLEXEC(LcConexion,"use midatabase;")
lcconexion = Sqlstringconnect("Driver={SQL
Server};Server=NORBERTO\SQLEXPRESS;Database=Maestra;Uid=;Pwd=;")
&& CONSULTANDO EN LA BASE DE DATOS UNA TABLA LLAMADA CLIENTES
lcejecutar = "SELECT * from clientes"
sqlexec(lcconexion,"use midatabase;")
If sqlexec(lcconexion,lcejecutar ,"_MyCursor") = 0
Messagebox("No se pudo establecer la conexion",0+64,"Alerta")
Return
Endif
Select _mycursor
Browse && PROBAMOS RESULTADOS DE LA CONSULTA
&& INSERTAR ALGUN VALOR
lcejecutar = "INSERT INTO clientes (COD_CLI,DIR_CLI,RAZ_CLI) VALUES
(5,Dirección','Razón Social')"
If sqlexec(lcconexion,lcejecutar) < 1
Messagebox("No se pudo realizar la operacion",0+64,"Alerta")
Return
Endif
&& ACTUALIZAR LA TABLA
lcejecutar = "UPDATE clientes set DIR_CLI = 'Otra Dirección' WHERE COD_CLI =
1"
If sqlexec(lcconexion, lcejecutar) < 1
Messagebox("No se pudo realizar la operacion",0+64,"Alerta")
Return .F.
Endif
&& ELIMINAR EL REGISTRO
*lcsql="DELETE clientes Where COD_CLI = 1" && Eliminar el registro igual a
la variable clave
lcejecutar = "DELETE FROM clientes Where COD_CLI = 5" && Eliminar el
registro igual a la variable clave
If sqlexec(lcconexion, lcejecutar) < 1
Messagebox("No se pudo realizar la operacion",0+64,"Alerta")
Return .F.
Endif
&&CERRAMOS LA CONEXION
=sqldisconnect(lcconexion)
Norberto Alvarez
Socio # 1892
<<attachment: winmail.dat>>
