数据源 = 您要连接的数据库引擎的实例,可以是主机名,也可以是与命名实例组合的主机名。通常这是localhost
或localhost\SQLEXPRESS
但它也可以是 IP 地址或完全限定的域名(在您的网络内部或外部)。
初始目录 = 要连接的数据库。与连接字符串中使用的用户名/密码相关联的登录名必须属于特定的服务器角色,或者与数据库中至少属于公共角色的用户相关联。
如果您已安装 SQL Server Express Edition,则您的连接字符串应为:
cn.ConnectionString = "Provider=SQLNCLI10;" & _
"Data Source=myIP\SQLExpress;" & _
"Initial Catalog=SQLDatabase;" & _
"User ID=user;Password=pass"
我们无法确定这是否是正确的连接字符串 - 例如,如果您安装了默认实例或者您将实例命名为其他名称。您可以尝试其他变体(因为您说您没有安装 Express),以防出现以下问题myIP
:
"Data Source=localhost;" & _
或者
"Data Source=(local);" & _
或者
"Data Source=.;" & _
或者
"Data Source=127.0.0.1;" & _
要查看您实际安装的内容,您可以转到开始 > 所有程序 > SQL Server 2008 > 配置工具 > SQL Server 配置管理器,然后单击 SQL Server 服务。在右侧窗格中,您应该会看到如下内容:
尽管您的实例名称可能与我的不匹配。如果您看到SQL Server (MSSQLSERVER)
,这是一个默认实例,您的连接字符串中的数据源将是.
or(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;"