Perguntas sobre VBScript e SQL Server 2008

Então eu não sei muito sobre SQL ou VBScript, muito menos colocando os dois juntos.

Eu estou tentando se conectar a um SQL Server executando o SQL 2008. Tudo o que quero fazer é conectar e não consigo fazer isso. Eu continuo recebendo vários erros, incluindo:

  • "Nome da fonte de dados não encontrado e nenhum driver padrão especificado"
  • "Falha no login do usuário 'user'"
  • "caractere inválido"

Eu já sei sobre http://www.connectionstrings.com mas eu não sei que várias coisas significar. O que é uma fonte de dados? O que é um catálogo inicial?

Aqui está o que eu tenho até agora.

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)

Alguém pode me ajudar a fazer cara e coroa disso?

Editar 1: Isso é o que estou vendo no Server Configuration Manager;

enter image description here

Edit 2: Peço desculpas por não deixar isso claro. Eu não estou me conectando à máquina local. Estou me conectando a uma máquina na minha rede.

0

1 Respostas

Data Source = a instância do mecanismo de banco de dados ao qual você está se conectando, um nome de host ou um nome de host combinado com uma instância nomeada. Geralmente, isso é localhost ou localhost \ SQLEXPRESS , mas também pode ser um endereço IP ou um nome de domínio totalmente qualificado (dentro ou fOua de sua rede).

Catálogo Inicial = banco de dados para se conectar. O login associado ao nome de usuário/senha usado na cadeia de conexão deve estar em funções de servidOu específicas ou ser associado a um usuário no banco de dados que, pelo menos, pertença à função pública.

Se você instalou o SQL Server Express Edition, sua seqüência de conexão deve ser:

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

Não podemos saber ao certo se essa é a string de conexão cOureta - se você instalou uma instância padrão ou nomeou sua instância como outra coisa, pOu exemplo. Outras variações que você pode tentar (já que você disse que não instalou o Express), caso haja algum problema com myIP :

"Data Source=localhost;" & _

Ou

"Data Source=(local);" & _

Ou

"Data Source=.;" & _

Ou

"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 . Ou (local) Ou (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.

Se você nos mostrar o que vê no gerenciador de configuração, podemos ajudar com a string de conexão exata de que você precisa.

EDITAR

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

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

Você pode tentar algumas opções:

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

(2) adicione o seguinte à sua string de conexão:

cn.ConnectionString = "Provider=SQLNCLI10;" & _
  "Data Source=localhost;" & _
  "Initial Catalog=SQLDatabase;" & _
  "User ID=user;PasswOud=pass;" & _
  "NetwOuk=DBMSSOCN;"
0
adicionado
Eu não estou usando o SQL Express, estou usando o SQL Server 2008 R2.
adicionado o autor ToastyMallows, fonte
Eu adicionei uma captura de tela. Agora estou usando Data Source = localhost;
adicionado o autor ToastyMallows, fonte
Estou recebendo um "Microsoft OLE DB Provider para SQL Server: [DBNETLIB] [ConnectionOpen (Connect ()).] SQL Server não existe ou acesso negado" erro.
adicionado o autor ToastyMallows, fonte
Ele se conecta ao MS SQL Server Management Studio com as mesmas credenciais.
adicionado o autor ToastyMallows, fonte
adicionado o autor ToastyMallows, fonte
Obrigado por toda sua ajuda.
adicionado o autor ToastyMallows, fonte
@ToastyMallows não é relevante. O que é relevante é se você instalou o SQL Server como uma instância padrão ou uma instância nomeada e se o serviço está ou não em execução. Eu apenas mencionei o Express porque é muito comum e essa é a instância nomeada padrão (e a maioria das pessoas não espera que ela seja nomeada).
adicionado o autor Aaron Bertrand, fonte
E isso ainda não funciona? Qual é a mensagem de erro exata </​​i> que você está recebendo agora (não apenas parte dela, e não a sopa de mensagem de erro que vemos na pergunta)?
adicionado o autor Aaron Bertrand, fonte
É possível que o nome de usuário e a senha que você está usando não sejam válidos? Talvez a senha esteja errada? Talvez o login não tenha acesso ao banco de dados que você especificou? Você pode se conectar ao SQL Server como sua conta do Windows usando o Management Studio?
adicionado o autor Aaron Bertrand, fonte
E você usou "localhost" como o nome do servidor no Management Studio?
adicionado o autor Aaron Bertrand, fonte