Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

No se puede ejecutar el programa desde los pc clientes

Estas en el tema de No se puede ejecutar el programa desde los pc clientes en el foro de Visual Basic clásico en Foros del Web. Hola amigos, tengo un programa desarrollado en vb6.0 con base de datos en sql 2000, creé el instalador en el servidor con el asistente de ...
  #1 (permalink)  
Antiguo 19/08/2008, 08:18
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
No se puede ejecutar el programa desde los pc clientes

Hola amigos, tengo un programa desarrollado en vb6.0 con base de datos en sql 2000, creé el instalador en el servidor con el asistente de empaquetado de visual basic, luego lo instalé en una carpeta compartida en el servidor, instalé el instalador en dos pcs clientes y resulta que al acceder al sw desde estos no se puede ejecutar el programa, aparece el siguiente error:

Error(Microsoft)(ODBC SQLServer Driver)(SQLServer)
Error de inicio de sesion del usuario"nombre base de datos/nombre usuario pc cliente"
Error al abrir el archivo

Luego aparece otro mensaje de error:

Error "3709" en tiempo de ejecucion
Operacion no permitida en un objeto que hace referencia a una conexion cerrada o no valida

El sql esta instalado en el servidor, el codigo que llama a la bd de datos sql en el servidor es:

Function SerVerOpen() As Integer
On Error GoTo ErrorServerOpen

Set db = New ADODB.Connection

db.ConnectionString = "driver={SQL Server};server=SERVIDOR;database=basedatos"
db.Open

Exit Function

ErrorServerOpen:
If Err.Number = -2147217900 Then
Resume Next
End If

MsgBox "Error." & Err.Description & Chr(10) & " Error al abrir el archivo " & sql, vbCritical

SerVerOpen = False
Exit Function
Resume
End Function

cuya funcion se llama al cargar cada form: call SerVerOpen

En el otro pc cliente sucedia el mismo error, pero después instalar y desinstalar el instalador aparecio lo sgte:

Instalación
No se puede crear el programa principal de instalación (Create Process() devolvió el código de error 0 x 0000001H)

Instalación
El programa de instalación iniciara el programa para quitar la aplicación con el fin de quitar los archivos temporales de instalación

Quitando la aplicación
Se ha quitado la aplicación del programa

Quitando la aplicación
¿Desea quitar el archivo de registro de operaciones de instalación C:\WINDOWS\STGUNST.008? Este archivo puede ser util para diagnosticar los problemas de instalación

Si se aprieta aceptar o no, al final da lo mismo ya que de cualquier forma en este segundo pc no se puede instalar el instalador del programa.

Hay un tercer pc en el cual ni siquiera me permitia empezar a instalar.

Bueno amigos, ese es mi gran problema, necesito que el programa pueda correr en todos los pc de la red, y ya no se que hacer, soy nueva en esto de la instalación, así que por favor cualquier ayuda, consejo, indicación me sirve. Muy agradecida si me ayudan. Adiós.
  #2 (permalink)  
Antiguo 19/08/2008, 09:37
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: No se puede ejecutar el programa desde los pc clientes

HOla que tal.... no estoy seguro si esto t servira en SQL 2000 pero yo utilizo MYSQL y pues me daba similar error...

El problema estaba... que es usuario de la BASE DE DATOS pues no tenia habilitado la opcion de "CONECTAR DESDE CUALQUIER HOST"

Espero que con eso se solucione tu problema...


SAludos
  #3 (permalink)  
Antiguo 19/08/2008, 09:39
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: No se puede ejecutar el programa desde los pc clientes

Ups se me olvidaba.. el PHPMYADMIN utiliza este query para asignar ese atributo:

CREATE USER 'root'@ '%' IDENTIFIED BY PASSWORD '6f15c4991fae2260';

GRANT ALL PRIVILEGES ON * . * TO 'root'@ '%' IDENTIFIED BY PASSWORD '6f15c4991fae2260' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;



Espero que sea de ayuda
  #4 (permalink)  
Antiguo 19/08/2008, 10:20
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: No se puede ejecutar el programa desde los pc clientes

Amigo, por lo que entendí, puede ser que me falte en el código de conexión a la base de datos una sentencia que otorgue permiso de acceso desde cualquier pc?, pero ese password que aparece en tu codigo tu lo creaste? te sirve para acceder desde cualquier pc de la red?
lo dificil es que yo trabajo en sql server 2000, pero igual intentaré aplicarlo aunque nosé que colocar donde dice password y root. Igual muchas gracias por tu sugerencia.
  #5 (permalink)  
Antiguo 19/08/2008, 10:35
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: No se puede ejecutar el programa desde los pc clientes

jeje.. pues mira carnal.. ese de PASSWORD es cualquier cadena... pues el PHPMYADMIN lo encripta....!!!

mIRA LA IDEA GENERAL ES QUE:

EL USUARIO DE LA BASE DE DATOS CON EL CUAL TRABAJAS SOLO SORTA lo que seria el LOCALHOST o lo que es igual a la maquina 127.0.0.1 o a tu numreo de IP de tu server....

ahora en tu aplicacion cuando ejecutas desde otra pc... pues debes de mandar la IP DEL SREVIDOR.... yna vez que lo tienes hasta ahi... pues serciorate de que EL USUARIO DE LA BASE DE DATOS SOPORTA CONCEXIONES DESDE CUALQUIER SERVIDOR... lo que te pase pues el query que me VOTO el phmyadmin....

Espero haberme entendido
  #6 (permalink)  
Antiguo 19/08/2008, 10:46
Avatar de ikaroraul  
Fecha de Ingreso: octubre-2006
Ubicación: La Paz
Mensajes: 391
Antigüedad: 17 años, 7 meses
Puntos: 16
Respuesta: No se puede ejecutar el programa desde los pc clientes

Si creo que ya lo encontre.. mira te explico:

MIRA ESTE QUERY TE PERMITE CREAR UN USUARIO SOLO PARA EL LOCALHOST

Código PHP:
CREATE USER '1''localhost' IDENTIFIED BY 'password'
Pero este otro query te permite crear un usuario el cual se conecta desde cualquier servidor:

Código PHP:
CREATE USER 'prueba''%' IDENTIFIED BY 'password'

Bueno una vez que creas los usuarios pues asignales los atributos que puede tener.. desde CREAR REGISTROS HASTA ELIMINARNOS...

Espero que sea de Ayuda

SAludos


Se me olvido.. la diferencia es de "%" checalo BIen :D.. espero que sea de aYUDA

Última edición por ikaroraul; 19/08/2008 a las 10:46 Razón: se me olvido un datito
  #7 (permalink)  
Antiguo 19/08/2008, 17:03
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: No se puede ejecutar el programa desde los pc clientes

Ikaroraul...entendí lo que explicaste, lo único que no sé como mandar la ip del servidor y el código como esta en php tiene problemas de sintaxis en visual basic 6 pero seguiré intentando...
  #8 (permalink)  
Antiguo 20/08/2008, 05:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Respuesta: No se puede ejecutar el programa desde los pc clientes

Hola

Yo lo que veo es que en la cadena de conexión no estás indicando el usuario y contraseña para acceder a la bd. En la bd tienes que tener un usuario con permisos para esa bd, en la cadena de conexión tienes que indicar ese usuario.

La cadena sería algo así:

Código:
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
*La cadena la he sacado de la página http://www.connectionstrings.com, en la cual encontrarás distintas cadenas de conexión para varias bd.

--Saludos--
  #9 (permalink)  
Antiguo 22/08/2008, 10:18
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: No se puede ejecutar el programa desde los pc clientes

Hola amigos, gracias por toda la ayuda, la verdad que volví a instalar el programa en el servidor con la sgte cadena de conexión a la bd:

db.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=mibasedatos;Data Source=miservidor"

creé unos usuarios en la bd sql del servidor con sus permisos respectivos a la bd
para que los usuarios de la red puedan acceder desde sus pcs, sin embargo tuve algunos problemas que paso a relatar y agradeceria si me pudieran ayudar aunque sea en uno.

Resulta que mi programa tiene la opción para exportar algunos form a excel y la carpeta de destino para esos formularios exportados la dejé en una carpeta dentro de la carpeta compartida del servidor donde tengo todo lo demas incluyendo el ejecutable, pero cuando intento exportar a excel desde el otro pc, aparece el siguiente error:

Miprograma.exe ha generado errores y sera cerrado por windows. Debe reiniciar el programa. Se creara un registro de error.

Y el programa se cierra, en el código fuente le doy la ruta donde esta la carpeta de destino en el servidor: I:\compartidos\carpeta con el programa\carpeta destino excel. Nosé si deberé modificar la ruta o algo.

Otro problema es que hay otro pc en la red en el cual no puedo instalar el instalador y aparece el sgte error:

Instalación: Instalar no puede continuar porque algunos archivos del sistema no estan actualizados. Haga click en aceptar si desea instalar para actualizar estos archivos ahora. Necesitara reiniciar windows antes de poder iniciar instalar de nuevo. Haga click en cancelar para salir de la instalación sin actualizar los archivos del sistema.

Le doy aceptar, el pc se reinicia, pero no se actualiza nada, sucede exactamente lo mismo una y otra vez.

Tampoco se que archivos son los que hay que actualizar.

Lo otro es que hay tres notebooks que se conectan a la red via inalambrica con el ip del servidor, pero no tienen un sitio dentro de la red por lo cual no puedo asignarles un permiso de usuario dentro de la bd.

Bueno esos son los problemas que debo resolver, cualquier ayuda bienvenida sea. Nuevamente gracias y disculpen las molestias.
  #10 (permalink)  
Antiguo 25/08/2008, 10:05
 
Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años
Puntos: 0
Respuesta: No se puede ejecutar el programa desde los pc clientes

Hola amigos nuevamente, les contaré que ya he realizado bien la instalación del programa en todos los pcs de la red, incluyendo un notebook.
El problema que ahora tengo es que no puedo generar los reportes en crystal reports desde los pcs clientes, aparece el sgte error:
"Database noy found"
Tampoco puedo mandar a exportar los formularios a planillas excel, creo que no reconoce la ruta de destino, el mensaje de error dice:
"El programa.exe ha generado un error y debera cerrarse"
Luego se cierra.
El codigo tiene la sgte ruta de destino para el exportar y los reportes:
\\numero ip del servidor\compartidos\carpeta con el programa\carpeta de destino excel o formato reportes
Le doy el ip del servidor para asegurarme de que vaya a esa direccion.
También cree en cada pc un dsn de sistema en sql para la bd.
Lo extraño es que en el notebook si se pueden mandar los formularios a exportar y también mandar a generar los reportes.
La verdad es que ya no sé que hacer, porque si en el notebook resulta es porque el codigo no esta tan mal.
Lo otro es que en el notebook el programa corre muy lento, aunque me han dicho que en una conexión inalambrica es mas lento trabajar en red.
Bueno, si me pueden ayudar a resolver cualquiera de estos inconvenientes se los agradeceria mucho. Saludos, adiós.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:14.