【问题标题】:SQL Server c# connectionSQL Server c# 连接
【发布时间】:2012-11-18 16:23:00
【问题描述】:

所以我在我的计算机上的虚拟机中运行 Sql Server 2012,我希望能够使用 Visual Studio 上的 SqlConnection 连接它,但我不知道在 servername 参数上放什么。

我不知道我是否必须把vm ipaddress或机器地址“WIN-NIJ53etc\SQLEXPRESS”

【问题讨论】:

  • 这两种方法你都试过了吗?
  • 你能连接到虚拟机上的数据库吗? (与 sql server management studio 一样)
  • 你用的虚拟机软件是什么?
  • 我正在使用 Vmware 工作站。我可以使用机器地址“WIN-NIJ53etc\SQLEXPRESS”作为服务器名称使用 sql server managment studio 进行连接。但是我也希望能够从这台计算机外部连接,这就是为什么我认为机器地址对我没有用......

标签: c# sql sql-server-2012


【解决方案1】:

更新:

在 SQL CE 和 SQL SERVER 之间迁移:请查看此说明 here

您应该按照以下步骤操作:

1- 将虚拟机设置为具有物理 IP 地址。

在 Microsoft Virtual PC 上配置网络:http://support.microsoft.com/kb/833134

2- 确保您可以看到具有静态 IP 地址的虚拟机。(ping 是检查这一点的好主意,但不要忘记关闭目标计算机上的防火墙,我的意思是你要ping的机器。服务器不需要看到客户端,所以检查你的客户端(在这种情况下是你的VM)可以ping服务器IP地址,如"ping 192.168.10.1 -t"

3- 使用配置管理器(所有程序\Microsoft SQL Server\配置工具)并设置 SQL 端口和网络可见性。

参考:http://msdn.microsoft.com/en-us/library/ms189083(v=sql.105).aspx

4- 重新启动 SQL 服务器。

5- 确保"SQL Server Browser" 服务已启动。(如果您想使用实例名称访问 SQL 服务器)

6- 在主机(具有 SQL 引擎的机器)上配置防火墙,并将您在配置管理器中指定的端口添加到 TCP 入站规则。

看这里:http://www.tavislovell.com/post/How-to-configure-Windows-Firewall-to-allow-access-to-SQL-Server.aspx

但请注意,您应该设置在配置管理器中指定的端口(默认为 1433,但有时它是动态的,您应该重新设置)

7- 设置端口和网络可见性后,应将连接字符串中的"Server" 值更改为"IPAddress, PORT" 格式,如"192.168.10.50, 1433"(指定端口时,不需要像这样设置实例名称"192.168.10.50\SQLEXPRESS")

希望对你有帮助

【讨论】:

  • Mohammad,如果我按照这些步骤操作,我可以连接到这台计算机之外的 Sql Sever 吗?
  • 您可以设置配置方式让其他人看到或不看到。你想要什么?
  • 此配置与该设置无关。如果要限制可以看到计算机上指定端口的 IP,则应为规则设置 IP 范围。
  • 当我使用本地数据库时,我使用了这样的连接 SqlCeConnection Conn = new SqlCeConnection("Data Source=" + "|DataDirectory|\\Database1.sdf");但是现在我在 vm 上运行 sql 服务器,我想要的是能够使用 SqlConnection Conn = new SqlConnection("Severaddress = XXXX", user, pw) 从 ip 连接服务器,但我不知道该怎么做输入服务器地址参数,这是我的主要问题。恐怕如果我输入“WIN-NIJ53etc\SQLEXPRESS”,来自外部的客户端将无法连接,因为它无法识别此地址
  • 显示您的确切连接字符串值。我会为你改变它,我会帮助你做到这一点。 ;)
【解决方案2】:

SQL Server 安装设置的乐趣啊。

确保你有:

  • VM 和客户端计算机之间的网络通信(ping 将起作用)
  • 配置为自动启动或已启动的 SQL Server 服务
  • 服务配置为使用 TCP(如果您不想使用命名管道)
  • SQL Server Browser 启用并启动,或者配置了静态端口(1433 或类似端口)
  • 防火墙规则配置为允许 1433(或您选择的端口)和 1434(如果您使用浏览器)
  • 使用正确格式的连接字符串计算机名称\实例(使用浏览器)或计算机名称,端口(如果您使用的是静态端口)

MSDN 上有一个很好的tutorial,它可能会很有帮助。具体到服务器名称/IP 问题,只要客户端计算机能够解决它就没有关系。如果您正在测试,“IP,Port”是最可靠的(例如 10.10.10.100,1433),因为它不依赖于 NetBIOS、DNS 或 SQL Browser 服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多