2012-06-21 134 views
0

所以我不太了解SQL或VBScript,更不用说将两者结合在一起。VBScript和SQL Server 2008问题

我试图连接到运行SQL 2008的SQL Server中的所有我想要做的就是连接我似乎无法做到这一点。我不断收到各种错误,包括:

  • “数据源名称找不到和未指定默认驱动程序”
  • “用户登录失败‘用户’”
  • “无效字符”

我已经知道http://www.connectionstrings.com,但我不知道一些事情的含义。什么是数据源?什么是初始目录?

这是我到目前为止。

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) 

有人可以帮我做这个的正面和反面吗?

编辑1:这是我在Server配置管理器是送走;

enter image description here

编辑2:我不使这个明确的道歉。我没有连接到本地机器。我正在连接到我的网络上的一台机器。

回答

3

数据源=要连接到数据库引擎实例,一个主机名或主机名与命名实例相结合。通常这是localhostlocalhost\SQLEXPRESS,但它也可以是IP地址或完全限定的域名(在网络内部或外部)。

初始目录=数据库,以便连接。与连接字符串中使用的用户名/密码关联的登录名必须处于特定的服务器角色中,或与数据库中至少属于公共角色的用户关联。

如果你已经安装了SQL Server Express版本,您的连接字符串应该是:

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

我们不能确切地知道,如果这是正确的连接字符串 - 如果你已经安装了例如,你可以使用默认的实例或者你的实例命名。 (因为你说你没有安装快车),你可以尝试其他变化,如果有一些问题myIP

"Data Source=localhost;" & _ 

或者

"Data Source=(local);" & _ 

或者

"Data Source=.;" & _ 

或者

"Data Source=127.0.0.1;" & _ 

要查看实际安装的内容,可以转到开始>所有程序> SQL Server 2008>配置工具> SQL Server配置管理器,然后单击SQL Server服务。在右窗格中,你会看到这样的事情:

enter image description here

虽然你的实例名可能不匹配我的。如果您看到SQL Server (MSSQLSERVER),这是一个默认实例,并且连接字符串中的数据源为.(local)(localhost)。如果您看到SQL Server (something other than MSSQLSERVER),那么它将是.\something other than MSSQLSERVER等。您还可以查看该实例是否正在运行,这可能是另一个问题。如果要连接的实例已停止,则只有右键单击并选择“开始”后,才能连接到该实例。您可能还想要右键单击实例并选择“属性”,以便您可以将服务设置为自动启动,因此下次重新启动时不必重复此过程。如果您希望服务始终运行。

如果您向我们展示您在配置管理器中看到的内容,我们可以帮助您确定所需的确切连接字符串。

编辑

现在,我看到更新的错误消息,其中包含:

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

你可以尝试以下几种选择:

(1)确保TCP/IP是启用。在配置管理器中,在SQL Server网络配置> MSSQLSERVER协议下,右键单击TCP/IP,然后选择启用。您需要重新启动SQL Server。 (虽然你应该能够使用共享内存,这是我如何使用始终配置传统的ASP)。

(2)以下内容添加到您的连接字符串:

cn.ConnectionString = "Provider=SQLNCLI10;" & _ 
    "Data Source=localhost;" & _ 
    "Initial Catalog=SQLDatabase;" & _ 
    "User ID=user;Password=pass;" & _ 
    "Network=DBMSSOCN;" 
+0

我没有使用SQL Express,我正在使用SQL Server 2008 R2。 – ToastyMallows

+0

@ ToastyMallows不相关。与之相关的是,将SQL Server安装为默认实例还是命名实例,以及服务是否正在运行。我只提到Express,因为它很常见,而且是默认的命名实例(大多数人不希望它被命名)。 –

+0

我添加了一个截图。我现在使用'Data Source = localhost;' – ToastyMallows