Problema para acceder al ejecutable desde otra pc

Hola expertos, estoy super complicada y necesito que me ayuden por favor, resulta que tengo un programa en vb6 con bd en sql 2000, lo instalé en el servidor en una carpeta compartida e instale el instalador en dos pc clientes, pero al tratar de ejecutar el programa desde estos aparece el siguiente error:
Error(Microsoft)(ODBC SQLServer Driver)(SQLServer)
Error de inicio de sesión 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 ejecución
Operación no permitida en un objeto que hace referencia a una conexión cerrada o no valida
El sql esta instalado en el servidor, el código 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 función se llama al cargar cada form: call SerVerOpen
me han dicho que me falta crear un id de usuario y password para la bd y que debo indicarlos en el código de conexión a la bd, también me dicen que debo mandar la ip del servidor, pero no me han explicado bien cómo debo hacerlo. ¿Podrían uds indicarme paso a paso y en detalle que debo hacer para resolver este problema?, ¿O mejor dicho los pasos a seguir para que el programa pueda ser accesado desde todos los pcs de la red? Les estaría infinitamente agradecida ya que debo tener el programa corriendo en los pcs de la red lo más luego posible, y me imagino que a uds les debe haber tocado hacer esto muchas veces. Bueno sin más que agregar les agradezco por la ayuda que me puedan brindar. Muchas Gracias y hasta la próxima.
Respuesta
1
Yo utilizo SQL server 2000. La seguridad de la base de datos es integrada (solo windows). Creo los usuarios en la bd y les doy permisos a las bd's que quiera.
Luego, utilizo la siguiente cadena de conexión:
db.ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BASEDATOS;Data Source=SERVIDOR"
Si esto no te funciona has de decirme:
- ¿Estas en una red con dominio?
- ¿Cuál es el tipo de seguridad que tiene la base de datos ("Solo Windows" o "SQL Server y Windows")?
- ¿Le has dado permisos a esos usuarios en la base de datos?
Experto, primero que nada quiero agradecerte por la ayuda, la verdad es que copié la cadena de conexión que me enviaste y me resultó, pude acceder al programa desde otro pc, eso sí que no en la red original donde debe ir el sw, sino que hice una prueba en otro lugar, lo que sí que al hacer dbl click en el ejecutable (desde un pc cliente) pregunta si realmente deseo abrir el programa ya que es de origen desconocido, aprieto ejecutar y puedo trabajar con el sw, bueno eso no sucedía cuando lo intenté en los pcs de la red original.
Lo otro, la bd en sql no la tenía creada con usuarios ni permisos de usuarios, ahora en seguridad, inicios de sesión cree dos tipos de usuarios administrador e invitado, otorgándoles diferentes tipos de permisos, pero no entiendo para que sirven si al abrir la bd en sql no me piden el usuario y puedo hacer lo que quiera con los datos (perdona mi ignorancia es que soy nueva trabajando en sql), ah el tipo de seguridad de la bd es "solo windows", en cuanto a la red parece que no tiene dominio ya que es una empresa pequeña, bueno en realidad no estoy segura, tampoco soy muy experta en el tema.
Bueno, mañana debo instalar en la red original, cualquier cosa volveré a preguntar, si puedes responde mis dudas por favor. Nuevamente muchas gracias, hasta pronto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas