AYUDA URGENTE CON VB6.0 Y SQL SERVER 2000

YOUR SERVER VISUAL BASIC
15 de Julio del 2004
HOLA:

QUISIERA QUE ME AYUDARAS Y QUE ME DIJERAS CÓMO PUEDO MANIPULAR UNA BASES DE DATOS EN SQL SERVER 2000 MEDIANTE VISUAL BASIC 6.0, YA TENGO TODOS LOS FORMULARIOS EN VB6.0 PERO UTILIZO UNA BASE DE DATOS EN ACCESS 2000, HE TRANSFORMADO ESA BD A SQL SERVER Y AHORA QUIERO UTILIZAR ESTA PARA TRABAJAR CON ELLA.....¿CÓMO LE HAGO? ¿ME PUEDES AYUDAR?,...me puedes enviar información a mi correo TE LO AGRADECERÉ MUCHISIMO, YA QUE ES DE SUMA IMPORTANCIA........

GRACIAS

semperfimxl
15 de Julio del 2004
1) OPCIONAL: En tu proyecto, marca en Referencias, el SQLDMO; este contiene metodos y propiedades que te permiten manipular las bases de datos en SQL SERVER (estructuras, tablas, campos, indices, etc); desafotunadamente no puedes directamente utilizar recordsets por lo que no seria la solucion a tu problema (al menos, no he encontrado la forma de hacerlo, pero si existe, de cualquiera manera significa reescribir el codigo en buena parte del proyecto).

2) Para que tu codigo no tenga que modificarse demasiado, necesitaras crear un DSN que apunte al SQL SERVER (En el control panel, seleccionas ODBC-32 Bits, y agregas un DSN utilizando el driver de SQL SERVER. El proceso en si es bastante sencillo.

3) Las tablas que actualmente tienes en Access, deberas cambiarlas por tablas vinculadas mediante el DSN que previamente generaste...

4) Te recomiendo que guardes tu base de datos actual de Access (archivo.mdb) y generes uno nuevo (solo como medida precautoria).

5) En la base de datos nueva, genera las nuevas tablas como vinculadas, mediante el asistente para nuevas tablas, seleccionando ODBC de la lista de tipos de datos a vincular. Cuando se muestre la lista de tablas del SQL SERVER, seleccionas todas la tablas y marcas "Guardar Contraseña" para que tu usuario no tenga que estar alimentando este dato cada vez que se abra la conexion en tu programa.

6) Una vez vinculadas, cambias el nombre de cada tabla como quedo registrada en Access por el nombre que originalmente usas en tu proyecto (normalmente las tablas, al vincularse de esta manera, quedan con el nombre dbo_NombreDeTabla, pero en tu proyecto, seguramente usas NombreDeTabla, por lo que, si no cambias el nombre, tendrias que modificar todo tu codigo, lo cual resultaria bastante tedioso)...

7) Considera que si estabas utilizando INDICES y el metodos SEEK en tu proyecto (con DAO) muy probablemente ya no podras utilizarlos, debiendo sustituir dicho uso por los metodos FIND y/o FILTER de los recordsets...

8) Si quieres hacer la vinculacion desde tu proyecto utilizarias el siguiente codigo para cada tabla vinculada a generar...

..................

dim oDatabase as Database
dim oTDef as TableDef

set oDatabase = OpenDatabase("basededatos.mdb")
set oTDef as new TableDef

oTDef.Name = "Tabla1"
oTDef.SourceTableName = "dbo.Tabla1"
oTDef.Connect = "ODBC;DSN=tu_dsn;UID=tu_usuario;PWD=tu_password;DATABASE=base_de_datos_en_sql"
oTDef.Attributes = dbAttachSavePWD

odatabase.TablesDefs.Append oTDef

...............

Por supuesto habra algunas cosas que tengas que modificar en tu codigo, pero para iniciar con lo anterior tendras bastante trabajo...

Saludos !

caceres
15 de Julio del 2004
Pues mira en sierto sentido va a depender del tipo de coneccion que este utilizando actualmente en tu proyecto por ejemplo si es ADO tendras que cambiar muy pocas cosas, por ejemplo donde te conecta al servidor de Base de Datos . SQL server y access son muy similares en sus sentencia, Cualquier cosa me escribe, Bye

YOUR SERVER VISUAL BASIC
15 de Julio del 2004
TIENES MUCHA RAZÓN Y PRECISAMENTE ESTOY UTILIZANDO UN ADODC COMO CONTROL DE DATOS Y LO QUE ME GUSTARÍA ES SABER QUÉ CAMBIOS TENGO QUE HACER, YA QUE ES UN PROYECTO BASTANTE AMPLIO Y PARA CAMBIAR TODO SIGNIFICARÍA UN PROYECTO INCOMPLETO,..TE AGRADECERÍA SI ME DIJERAS QUÉ TENGO QUE HACER.,... GRACIAS