Recientemente he migrado una base de datos de sql server 2005 a 2008 en windows server 2008. Los clientes se conectan multa de sus máquinas con XP y lo hace el SQL Management Studio 2008. También he probado una conexión remota usando LINQPad que funcionaba bien.

Sin embargo en mi VB6 aplicación, la cadena de conexión parece darme problemas. Alguna idea de lo que estoy haciendo mal?

    Dim strUserName As String
     Dim strPassword As String
     Dim sProc As String

     sProc = "Class_clsAdoFnx_Initialize"

        Me.DatabaseName = "db_app"




 'Connect to SQL Server

    strUserName = "admin"
    strPassword = "mudslinger"

    Set cSQLConn = New ADODB.Connection
    '**Original connection String
    'cSQLConn.CommandTimeout = 0
    'cSQLConn.ConnectionString = " PROVIDER=SQLOLEDB" & _
    '    ";SERVER=NET-BRAIN" & _
    '    ";UID=" & strUserName & _
    '    ";PWD=" & strPassword & _
    '    ";DATABASE=" & Me.DatabaseName

    '***First attempt, no dice
    'cSQLConn.ConnectionString = "Provider=sqloledb;" & _
    '       "Data Source=NET-BRAIN;" & _
    '       "Initial Catalog=DB_APP;" & _
    '       "User Id=admin;" & _
    '       "Password=mudslinger"
    'cSQLConn.Open

    '***3rd attempt, no dice 
    cSQLConn.Open "Provider=sqloledb;" & _
           "Data Source=NET-BRAIN;" & _
           "Initial Catalog=db_app;" & _
           "User Id=admin;" & _
           "Password=mudslinger", "admin", "mudslinger"

gracias de antemano.

ACTUALIZACIÓN: Aquí está la cadena que genera el uso de mi prueba.Archivo UL

[ODBC] Proveedor de

Proveedor=MSDASQL.1;Password=logmein;Persist Security Info=True;User ID=sa;Propiedades Extendidas=»DSN=NET-CEREBRO;UID=admin;PWD=mudslinger;APP=Microsoft® Windows® Operating System;WSID=APOBRES-16D68FBC7D;DATABASE=DB_App;Red=DBMSSOCN»;Initial Catalog=DB_App

Aquí es el mismo archivo UL utilizando el SQL Native proveedor de:

«Provider=SQLNCLI10.1;Integrated Security=»»;Persist Security Info=False;ID de Usuario=admin;Initial Catalog=DB_APP;Data Source=NET-CEREBRO;Inicial del Nombre de Archivo=»»;Servidor de SPN=»»»

–recibió el error: Error en la Llamada de Ado… hubo un error en Class_clasAdoFnx_initialize 3001 Argumentos son del tipo correcto, están fuera del rango aceptable, o están en conflicto el uno con el otro.
–Error: Class_clsAdoFnx_Initialize
3709 operación Solicitada requiere una Sesión de OLE DB objeto, que no es compatible con el proveedor actual.

intentado [oledb] para el proveedor de sql server opción
«Provider=SQLOLEDB.1;Password=mudslinger;Persist Security Info=True;ID de Usuario=admin;Initial Catalog=db_app;Data Source=net-cerebro»

de error: -2147217900 error de inicio de Sesión del usuario ‘admin’

UPDATE2 : Después de aislar la cadena de conexión abierta, resulta que la conexión es la apertura y el procedimiento almacenado que se utiliza para la prueba con fallaba.

  • ¿qué error se están obteniendo?
  • Estoy recibiendo el Error: -2147217900 error de inicio de Sesión del usuario ‘admin’
  • está seguro de que usted ha especificado la contraseña correcta
  • sí, he probado localmente en el servidor remoto, de forma remota a través del sql server management studio y en un sistema de origen de datos odbc en un remoto xp máquina.
  • Estás seguro de que es ‘admin’? Debería quizás ser ‘sa’? No soy del todo familiarizado con SQL Server, pero pensé ‘sa’ fue el de administrador predeterminada nombre de usuario de cuenta.
  • sa es el valor predeterminado de la función sysadmin cuenta, sin embargo, hemos disminuido el uso de nuestro usuario ‘admin’, quien previamente trabajó antes de migrar la base de datos a sql 2008

InformationsquelleAutor phill | 2010-06-02

1 Comentario

  1. 3

    Siguientes El uso de ADO con SQL Server Native Client para habilitar el uso de SQL Server Native Client, ADO aplicaciones necesitan para implementar las siguientes palabras clave en sus cadenas de conexión:

    Proveedor=SQLNCLI10

    DataTypeCompatibility=80

    Dim con As New ADODB.Connection
    
    con.ConnectionString = "Provider=SQLNCLI10;" _
             & "SERVER=NET-BRAIN;" _
             & "Database=DB_APP;" _ 
             & "DataTypeCompatibility=80;" _
             & "User Id=admin;" _
             & "Password=mudslinger;"
    
    con.Open
    • Me da un error en Llamada de Ado.. «hubo un error en Class_clsAdoFnx_Initialize 3706 Proveedor no se encuentra. Puede que no esté instalado correctamente.»
    • También traté de configuración del proveedor de vuelta a SQLOLEDB y recibe un mensaje de error similar
    • es este equipo cliente tiene un SO de 64 bit?
    • Sí, sí que lo es. Se ejecuta en windows 2008 server
    • Pruebe a instalar de 2008 Native Client go.microsoft.com/fwlink/?LinkId=123717&clcid=0 x 409 o microsoft.com/downloads/… o (sqlncli.msi) de instalación de SQL Server 2008 CD
    • instalado… no estoy seguro cómo que hizo una diferencia. ¿Tengo que cambiar la cadena de conexión a utilizar que?
    • sí uso SQLNCLI10 proveedor
    • Me sigue apareciendo el mismo error: -2147467259 error de inicio de Sesión del usuario ‘admin’
    • Una sugerencia más, tratar de crear un nuevo archivo de prueba.udl y se usa para probar la conexión con los diferentes proveedores.
    • podría usted por favor, pon en la udl? eso es muy nuevo para mí.
    • crear un nuevo archivo de PRUEBA».UDL», a continuación, haga doble clic sobre él y se abrirá Propiedades de Vínculo de Datos cuadro de diálogo, seleccione la primera pestaña y elige el proveedor como ‘Sql Native Client’, a continuación, seleccione en la segunda pestaña de nombre de servidor y establecer el nombre de usuario y contraseña. Entonces usted debería ser capaz de ver la base de datos de la lista y haga clic en el botón Probar Conexión para comprobar la conexión
    • si usted tendrá éxito con la conexión, a continuación, abra el archivo en el Bloc de notas y copia de la cadena de conexión (la contraseña no se guarda, deberá seleccionar la casilla de verificación guardar contraseña)
    • He intentado copiar la cadena de ambos y con la salida de los alrededores de las comillas y me da un error de sintaxis en VB6, voy a publicar mi cadena resultante de arriba.
    • reemplazar sola cita con comillas dobles, por ejemplo, en lugar de Propiedades=»DSN=NET use siguientes Propiedades=»»DSN=NET
    • así reemplazar DBMSSOCN»;Inicial con DBMSSOCN»»;Inicial
    • Se compila este tiempo; sin embargo, cuando lo ejecuto, me sale un error que dice: -2147217887 [Microsoft][ODBC SQL Server Driver] característica Opcional que no implementado
    • Tratar la siguiente cadena de conexión, he quitado un par de parámetros opcionales: Provider=MSDASQL.1;Password=logmein;Persist Security Info=True;User ID=sa;Propiedades Extendidas=»»DSN=NET-CEREBRO;UID=admin;PWD=mudslinger;DATABASE=DB_App;»»;Initial Catalog=DB_App Es posible usar otro proveedor de la PRUEBA».UDL»?
    • Traté de 2 otros proveedores y no ha habido suerte.
    • Cómo acerca de SQL Server Native Client
    • He intentado eso y publicado el error anterior.
    • Dispones de conexión de código abierto, y cuando hizo la prueba?
    • Después de aislar la cadena de conexión abierta, resulta que la conexión es la apertura y el procedimiento almacenado que se utiliza para la prueba con fallaba. Voy a publicar el procedimiento almacenado en la parte de arriba.

Dejar respuesta

Please enter your comment!
Please enter your name here