Problemas con Conexión Sql - Vfp

Estimado amigo de nuevo molestándote tengo un problemilla con Sql200 Server y Vfp6 cuando me quiero conectar a una base datos creada en Sql (se llama Almacen) no se conecta pero cuando me conecto a otra base datos que ya hace 3 meses la cree en SQL si se conecta dime que esta pasando este es la sentencia que estoy usando:
STORE SQLCONNECT('ALMACEN', 'INSA', 'ALMA209') TO Xpunta1
IF Xpunta1 <= 0
   = MESSAGEBOX('NO SE PUEDE HACER LA CONEXIÓN', 16, 'SQL Connect Error')
ELSE
   = SQLEXEC(Xpunta1,"SELECT * FROM Acc_Alm","Acc_Alm") 
   = SQLEXEC(Xpunta1,"SELECT * FROM Areas","Are_Alm")
   = SQLEXEC(Xpunta1,"SELECT * FROM Ingreso","Ing_Alm")
ENDIF
Espero tu ayuda Gracias.
Jechu

1 respuesta

Respuesta
1
No soy muy experto en SQL SERVER, pero primero debemos saber cual es el mensaje de error, a primera vista me huele a problemas de privilegios, probablemente el usuario no tiene los permisos para esa base de datos, agrega esta linea para capturar el error.
if xpunta <= 0
      =aerror(m)
       messagebox("El error arrojado es:"+m(2))
else
.
.
.
Con esto sabremos el mensaje de error y tal vez sepamos al menos cual es el problema
Estimado amigo si fuera error de privilegio como lo soluciono por que estoy utilizando la misma Pc (en la que programo) y me sigo conectando al mismo servidor y si se conecta a otra base de datos que antes ya he creado pero a otra que acabo de crear hoy no se quiere conectar me dice "NO SE PUDO HACER LA CONEXIÓN. dime amigo que hago.
Jechu
Te pedí el mensaje de error y no me pasaste, espero que no perdamos tiempo buscando una solución errada, como te manifesté al iniciar no soy experto en sql server, veras buscas algún curso de sql server para poder administrarlo, crear privilegios para quep puedan ayudarte, yo te ayudo en fox.
Estimado amigo disculpa la demora es que cuando recibí tu respuestas yo estaba en mi domicilio y allí no tengo el servidor ni usuario para probar. Pero ahora que estoy en el trabajo de indico por favor el error que me indica: El ERROR ARROJADO ES : ERROR DE CONECTIVIDAD: [ Microsoft ] [ Administrador de Controladores OBBC ] no se encuentra el nombre de origen de datos y no se especifico ningún controlador predeterminado.
Que hago amigo ayudame por favor
Jechu
Ah, no creaste el origen de datos llamado ALMACEN, para crearlo o para que veas si realmente existe ve a Panel de Control - Herramientas Administravas, orígenes de datos ODBC, y tendrás la lista en DSN USUARIO o DSN SISTEMA, recuerda que si agregas una conexión en DSN USUARIO solo estará disponible para el usuario en cuestión (Del sistema operativo, por ejemplo en WIN XP), para probar que no estoy equivocado puedes llamar a sqlconnec() sin argumentos y te saldrá la ventana de origen de datos para que lo selecciones, como te había dicho si has creado en DSN USUARIO tal vez el DSN no esta disponible para este usuario, para que este disponible para todos crea en DSN SISTEMA
Estimado Amigo ya confrigure el origen de datos tal como me indicastes pero he utilizado el DSN de Sistema. y en mi programacion he colocado este codigo
STORE SQLCONNECT('ALMACEN', 'SA', 'PRETORIABASE2007') TO Xpunta2
IF Xpunta2 <= 0
= MESSAGEBOX('NO SE PUEDE HACER LA CONEXIÓN', 16, 'SQL Connect Error')
ELSE
= SQLEXEC(Xpunta2,"SELECT * FROM Acc_Alm","Acc_Stk")
= SQLEXEC(Xpunta2,"SELECT * FROM Areas","Are_Alm")
= SQLEXEC(Xpunta2,"SELECT * FROM Ingreso","Ing_Alm")
= SQLEXEC(Xpunta2,"SELECT * FROM Qingreso","Tmp_Ing")
= SQLEXEC(Xpunta2,"SELECT * FROM Kardex","Kar_Alm")
= SQLEXEC(Xpunta2,"SELECT * FROM Saldos","Sld_Alm")
= SQLEXEC(Xpunta2,"SELECT * FROM Salida","Sal_Alm")
= SQLEXEC(Xpunta2,"SELECT * FROM Qsalida","Tmp_Sal")
Endif
Pero ahora cuando lo ejecuto me sale este error: "No se encuentra el alias ACC_STK" y creo que es por que después de este procedimiento me llama al Formulario de Acceso al sistema y en el INIT le digo SELECT Acc_Stk (por se supe que el SQLEXEC me ha extraído del SQL la información que esta allí) o me equivoco.
Dime amigo cual es mi error. Ayuda por fa
Jechu
Debiste finalizar la pregunta por que ya estamos en otro espacio, según mi punto de vista debes usar más controles de error, verifica que todo salga bien por que un
=sqlexec(xApunta2,"algun comando","algun cursor")
No me garantiza que todo esté bien, no sabemos si crea el cursor, por eso te recomiendo el control de errores como lo hicimos al inicio, algo más, mi pregunta es acc_stk se crea en esta parte, pero si quieres acceder desde otro form tal vez no lo encuentre, por que no es el mismo entorno de datos, lo recomendable es crear el acc_stk en el form donde vas usarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas