首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过ip连接到sql server数据库

通过ip连接到sql server数据库
EN

Stack Overflow用户
提问于 2013-04-15 10:26:10
回答 2查看 1.9K关注 0票数 1

我正在做一个连接到同一网络中的数据库的应用程序。DBMS是Server 2005,我想测试到ip入口的ping,然后通过ado.net测试到数据库的连接:

代码语言:javascript
运行
复制
 Ping p = new Ping();
            try
            {
                PingReply pingReply6 = p.Send(ip.Text);
                MessageBox.Show("IP: " + pingReply6.Address + " \n Etat : " + pingReply6.Status);
                string connexionString;
                connexionString = @"Data Source=Owner;Initial Catalog=base;Integrated Security=true;";
                IDbConnection connexion = new SqlConnection(connexionString);
                try { connexion.Open(); MessageBox.Show(" the connection is established "); }
                catch(Exception ex) { MessageBox.Show(ex.ToString()); }
            }
            catch { MessageBox.Show("Invalid IP"); }

如您所见,我想通过adress ip连接到数据库,我测试ping,它可以工作,但是当我在服务器中测试到数据库的连接时,它不能工作。

  1. 连接字符串中的错误是什么?
  2. 如何更改连接字符串,使其不是连接到自己的数据库,而是连接到具有指示的adress ip (windows身份验证)的其他数据库?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-15 10:32:20

像这样的东西可能会有帮助

代码语言:javascript
运行
复制
connexionString = @"Data Source=" + pingReply6.Address +  "\Owner;Initial Catalog=base;Integrated Security=true;";

在上面的.中,连接字符串表示localhost。

正如@RemusRusanu所说,IP地址被认为是糟糕的形式,然而,上述功能将发挥作用。主机名会更好

票数 1
EN

Stack Overflow用户

发布于 2013-04-15 10:34:31

使用SqlConnectionStringBuilder。将DataSource属性分配给要连接到的服务器名。当您想要打开连接时,从构建器中提取ConnectionString。这保证了正确格式化的连接字符串。

一般来说,使用IP是一种不好的做法。用电脑的名字。

对ping的测试与连接无关。SQL连接可以使用与TCP/IP无关的协议(例如。共享内存)。取决于各种corpnet ICMP设置,Ping可能会失败。Ping可以成功,但是基于防火墙和IPSec规则,连接可能会失败。TCP/IP连接不能保证T连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16012897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档