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

本文关键字:SQL 服务器 数据库 连接 2013 Studio Visual 可以 | 更新日期: 2023-09-27 18:21:35

我在Visual Studio 2010中使用C#和XAML创建了一个程序,并与存储数据的SQL服务器建立了数据连接。但后来我的公司不得不改为windows 7——以前我的机器上有XP——我也不得不改为Visual Studio 2013。我的问题是,在新的Visual Studio 2013 Professional中,我无法连接到SQL server上的数据库。我可以很好地从服务器资源管理器中查看和编辑表。我还检查了连接字符串是否正确。我还检查了TCP/IP设置,因为它是一个远程网络服务器,它似乎已启用,端口1433也很好。我也尝试过更改数据类,但仍然没有成功。当我从SQLServerManagementStudio连接到服务器时,它运行得很好。但在Visual Studio 2013中,我在ObservaleCollection中收到了与网络相关的错误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 server中的数据库,效果很好。所以,也许映射中有一个错误,我不知道如何设置。

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

我找到了解决方案,但它非常奇怪,与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

这篇来自微软的博客文章可能会有所帮助。

摘录自博客

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

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

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

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