无法从Visual Studio 2013连接到远程SQL服务器上的数据库

时间:2015-11-12 12:45:10

标签: c# sql-server visual-studio

我在Visual Studio 2010中使用C#和XAML创建了一个程序,并将数据连接到存储数据的SQL服务器。但后来我的公司不得不改为Windows 7 - 之前我的机器上有XP - 我也不得不改为Visual Studio 2013.我的问题是我无法连接到新的Visual Studio 2013中的SQL服务器上的数据库专业的。我可以很好地从服务器资源管理器中查看和编辑表格。我还检查了连接字符串是否正确。我还检查了TCP / IP设置,因为它是一个远程网络服务器,它似乎已启用,只是端口1433很好。我也尝试更改数据类但仍然没有运气。当我从SQL Server Management Studio连接到服务器时,它工作得很好。但在Visual Studio 2013中,我的observablecollection错误与网络相关的错误26:“SQL网络接口,错误:26 - 错误定位服务器/实例指定”。我不知道如何解决这个问题,我们非常感谢任何帮助。

     private T_Patient _T_Patient;
    public T_Patient T_Patient
    {
        get { return _T_Patient; }
        set { _T_Patient = value; }
    }

    private ObservableCollection<T_Patient> _observableCollection;
    private CollectionViewSource _collectionViewSource;
    /// <summary>
    /// Constructor for Patienter with observablecollection
    /// </summary>
    public Patienter()
    {

        InitializeComponent();

        using (var dc = new DataClasses2DataContext())
        {
            _observableCollection = new ObservableCollection<T_Patient>(dc.T_Patients);
        }

        _collectionViewSource = (CollectionViewSource)this.FindResource("_T_PatientViewSource") as CollectionViewSource;
        _collectionViewSource.Source = _observableCollection;

        _collectionViewSource.Filter += FilterName;
        _collectionViewSource.Filter += FilterID;

        this.T_Patient = new T_Patient();
        this.DataContext = T_Patient;
    }

顺便说一下,我已经尝试创建一个新的数据网格来连接到SQL服务器中的数据库,它运行正常。所以也许映射中有一个错误,我不知道如何设置。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案,但它很奇怪,与SQL服务器上的连接关系不大。我只需将项目移动到Visual Studio将项目保存在本地驱动器C上的正确文件夹中。我已将项目保存在公司网络文件夹中。

我在这里找到了答案,当我再次尝试构建项目时,我也无法从数据源中拖动控件。

https://social.msdn.microsoft.com/Forums/en-US/9fc4f835-d6c0-4d04-86c2-779c1f8e0791/unable-to-drag-data-source-to-control-to-bind

答案 1 :(得分:0)

Microsoft Might帮助中的Blog Post

摘自博客

  

用户在连接到SQL Server时经常会看到此错误消息,并且不知道从哪里开始解决问题。在大多数论坛中,人们说这是因为服务器上没有启用远程连接。这不完全正确。实际上,此错误消息为客户提供了非常具体的信息,解决方案非常简单。

     

首先,只有在尝试连接到SQL Server命名实例时,才会收到此错误消息。对于默认实例,您永远不会看到这一点。为什么?因为即使我们在此阶段失败(即错误定位服务器/实例指定),我们将继续尝试使用默认值进行连接,例如默认TCP端口1433,命名管道的默认管道名称。您可能会在以后看到其他错误消息,但不会显示此错误消息。

     

每次客户端连接到SQL Server命名实例时,我们都会将SSRP UDP数据包发送到服务器端口UDP端口1434.我们需要此步骤来了解SQL实例的配置信息,例如,启用的协议,TCP端口,管道名称等。没有这些信息,客户端确实知道如何连接服务器,它失败了这个指定的错误消息。

     

总之,我们收到此错误消息的原因是客户端堆栈无法从SQL浏览器接收SSRP响应UDP数据包。解决问题很容易。以下是步骤:   1)确保您的服务器名称正确,例如,名称上没有拼写错误。   2)确保您的实例名称正确,并且目标计算机上实际存在此类实例。 [更新:某些应用程序将\转换为\。如果您不确定您的应用程序,请在连接字符串中尝试Server \ Instance和Server \ Instance]   3)确保服务器机器可以访问,例如,DNS可以正确解析,您可以ping服务器(并非总是如此)。   4)确保SQL Browser服务正在服务器上运行。   5)如果服务器上启用了防火墙,则需要将sqlbrowser.exe和/或UDP端口1434置于异常状态。