Preguntas de VBScript y SQL Server 2008

Así que no sé mucho sobre SQL o VBScript, y mucho menos poner los dos juntos.

Estoy intentando conectarme a un SQL Server que ejecuta SQL 2008. Todo lo que quiero hacer es conectar y parece que no puedo hacerlo. Sigo recibiendo varios errores, que incluyen:

  • "Nombre de origen de datos no encontrado y no se especificó ningún controlador predeterminado"
  • "Error de inicio de sesión para el usuario 'usuario'"
  • "Carácter inválido"

Ya sé sobre http://www.connectionstrings.com pero no sé cuántas cosas media. ¿Qué es una fuente de datos? ¿Qué es un catálogo inicial?

Esto es lo que tengo hasta ahora.

Dim result
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "Provider=SQLOLEDB.1;Server=MyIP;Database=SQLDatabase;User ID=user;Password=pass"
cn.Open
strQry = "select * from Users"
set result = cn.execute(strQry)

¿Alguien puede ayudarme a entender y entender esto?

Edición 1: Esto es lo que estoy viendo en el Administrador de configuración del servidor;

enter image description here

Edición 2: me disculpo por no dejar esto en claro. No me estoy conectando a la máquina local. Me estoy conectando a una máquina en mi red.

0

1 Respuestas

Fuente de datos = la instancia del motO de la base de datos a la que se está conectando, ya sea un nombre de host o un nombre de host combinado con una instancia nombrada. A menudo esto es localhost o localhost \ SQLEXPRESS pero también puede ser una dirección IP o un nombre de dominio totalmente calificado (ya sea dentro o fuera de su red).

Catálogo inicial = base de datos para conectarse. El inicio de sesión asociado con el nombre de usuario/contraseña utilizado en la cadena de conexión debe estar en roles de servidO específicos o estar asociado a un usuario en la base de datos que al menos pertenece a la función pública.

Si ha instalado SQL Server Express Edition, su cadena de conexión debería ser:

cn.ConnectionString = "Provider=SQLNCLI10;" & _
  "Data Source=myIP\SQLExpress;" & _
  "Initial Catalog=SQLDatabase;" & _
  "User ID=user;PasswOd=pass"

No podemos saber con certeza si esa es la cadena de conexión cOecta, si ha instalado una instancia predeterminada o ha nombrado a su instancia como algo diferente, pO ejemplo. Puede intentar otras variaciones (ya que dijo que no instaló Express), en caso de que haya algún problema con myIP :

"Data Source=localhost;" & _

O

"Data Source=(local);" & _

O

"Data Source=.;" & _

O

"Data Source=127.0.0.1;" & _

To see what you have actually installed, you can go to Start > All Programs > SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager and click on SQL Server Services. In the right pane, you should see something like this:

enter image description here

Though your instance names may not match mine. If you see SQL Server (MSSQLSERVER), this is a default instance, and the data source in your connection string would be . O (local) O (localhost). If you see SQL Server (something other than MSSQLSERVER) then it would be .\something other than MSSQLSERVER etc. You can also see whether the instance is running, which might be another problem. If the instance you want to connect to is stopped, you won't be able to connect to it until you right-click and choose Start. You might also want to right-click the instance and select Properties so that you can set the service to start automatically, so you don't have to repeat this process the next time you reboot. If you want the service to be running all the time.

Si nos muestra lo que ve en el administrador de configuración, podemos ayudarlo con la cadena de conexión exacta que necesita.

EDITAR

Now that I see the updated errO message, which contains:

[DBNETLIB][ConnectionOpen (Connect()).]

Puede intentar algunas opciones:

(1) make sure TCP/IP is enabled. In the configuration manager, under SQL Server NetwOk Configuration > Protocols fO MSSQLSERVER, right-click TCP/IP, and choose Enable. You'll need to restart SQL Server. (While you should be able to use shared memOy, this is how I used to always configure classic ASP.)

(2) agregue lo siguiente a su cadena de conexión:

cn.ConnectionString = "Provider=SQLNCLI10;" & _
  "Data Source=localhost;" & _
  "Initial Catalog=SQLDatabase;" & _
  "User ID=user;PasswOd=pass;" & _
  "NetwOk=DBMSSOCN;"
0
agregado
No estoy usando SQL Express, estoy usando SQL Server 2008 R2.
agregado el autor ToastyMallows, fuente
Agregué una captura de pantalla. Ahora estoy usando Data Source = localhost;
agregado el autor ToastyMallows, fuente
Obtengo un "proveedor Microsoft OLE DB para SQL Server: [DBNETLIB] [ConnectionOpen (Connect ()).] SQL Server no existe o acceso denegado" error.
agregado el autor ToastyMallows, fuente
Se conecta al MS SQL Server Management Studio con las mismas credenciales.
agregado el autor ToastyMallows, fuente
agregado el autor ToastyMallows, fuente
Gracias a todos por su ayuda.
agregado el autor ToastyMallows, fuente
@ToastyMallows no es relevante. Lo que es relevante es si instaló SQL Server como una instancia predeterminada o una instancia con nombre, y si el servicio se está ejecutando o no. Solo mencioné Express porque es muy común y esa es la instancia nombrada por defecto (y la mayoría de las personas no esperan que se nombre).
agregado el autor Aaron Bertrand, fuente
Y todavía no funciona? ¿Cuál es el mensaje de error exacto que está recibiendo ahora (no solo una parte de él, y no la sopa de mensajes de error que vemos en la pregunta)?
agregado el autor Aaron Bertrand, fuente
¿Es posible que el nombre de usuario y la contraseña que está utilizando no sean válidos? Tal vez la contraseña es incorrecta? ¿Tal vez el inicio de sesión no tiene acceso a la base de datos que ha especificado? ¿Puede conectarse a SQL Server como su cuenta de Windows usando Management Studio?
agregado el autor Aaron Bertrand, fuente
¿Y usó "localhost" como el nombre del servidor en Management Studio?
agregado el autor Aaron Bertrand, fuente