当前位置:编程学习 > C#/ASP.NET >>

vs2010+net3.5 的程序 到XP下提示无法连接数据库

开发环境:WIN7 +VS2010 NET 3.5 
数据库: WIN2008 SQL2008

程序 
在WIN7 和 win2008 上都能 启动,连接数据库
在XP(net.3.5) 上能启动,但是不能连接数据库


请问什么情况哦,没有头绪

--------------------编程问答-------------------- 说相信写,你是不是 连接串写的不对啊,  --------------------编程问答-------------------- 相同的连接 连接串 ,win7 上连接数据库的
************** 异常文本 **************
System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
   在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   在 System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) --------------------编程问答-------------------- win7 + sql 2008 正常
xp +sql 2008 就提示无法连接

我觉得可能是 .net 的问题 --------------------编程问答-------------------- 根据你的 堆栈信息, 是不是 ,你网络协议 和 管道没有启用啊 。 --------------------编程问答-------------------- 你连接数据库是远程连接,还是本地的。 --------------------编程问答-------------------- sql2008 的网络协议 和 管道 都启用了,1433 也telnet 
--------------------编程问答-------------------- 程序在 win7 下 能连接数据库,正常使用 --------------------编程问答-------------------- 那你确定 你的 SqlConnectionString 写的没有问题吗,  --------------------编程问答-------------------- 你这样,你用 VS 内置那个 数据库管理器, 连接下数据库,看可以连接上不,如果可以那就是 你的 connstring 写错了,要不就是 ,你的 SQLCONNECTION 写的有问题  --------------------编程问答-------------------- 或是 Sqlconnection.state = Closed --------------------编程问答-------------------- SqlConnectionString  肯定没有问题

<add connectionString="server=SERVERX.;uid=sa;pwd=hm@190129;database=Istar" name="SqlServerHelper"/> --------------------编程问答-------------------- 服务开了没有。 --------------------编程问答-------------------- 这个 程序 在win7 里是可以 连接到 数据库的, 应该可以排除 连接字符串 和 database 问题 --------------------编程问答--------------------
引用 12 楼  的回复:
服务开了没有。


什么服务? --------------------编程问答-------------------- 检查一下数据库连接字符串是否正确  服务器名称等等 --------------------编程问答--------------------
引用 15 楼  的回复:
检查一下数据库连接字符串是否正确  服务器名称等等



程序 在win7 里是可以 连接到 数据库的, 应该可以排除 连接字符串 和 database 问题 --------------------编程问答--------------------
引用 14 楼  的回复:
引用 12 楼  的回复:

服务开了没有。


什么服务?


去控制面板里的管理工具看看 --------------------编程问答--------------------
引用 17 楼  的回复:
引用 14 楼  的回复:

引用 12 楼  的回复:

服务开了没有。


什么服务?


去控制面板里的管理工具看看


看 ms sql服务吗,开启的 --------------------编程问答-------------------- 你吧你的那个 server 改成 Data Source= .; --------------------编程问答-------------------- 你到底是 远程连接,还是本地连接, SQL BROWSER 开启了吗 --------------------编程问答--------------------
连接字符串是否正确   
开始 -> 所有程序 -> MS SQL Server -> 配置工具 -> Sql server外围应用配置器 ->服务和连接的外围应用配置器 -> 打开MSSQLSERVER节点下的Database Engine节点,选择"远程连接",接下来建议选择”同时使用TCP/IP和named pipes ”,确定后,重启数据库服务.
防火墙是否阻止了端口
启动SQL Server Browser服务
 
连接字符串connectionstrings.com --------------------编程问答--------------------
引用 21 楼  的回复:
连接字符串是否正确  
开始 -> 所有程序 -> MS SQL Server -> 配置工具 -> Sql server外围应用配置器 ->服务和连接的外围应用配置器 -> 打开MSSQLSERVER节点下的Database Engine节点,选择"远程连接",接下来建议选择”同时使用TCP/IP和named pipes ”,确定后,重启数据库服务.
防火墙是否阻止了端口
启动SQL Se……


估计没有用,因为他说她都试过了,不知道他机器什么情况。 --------------------编程问答-------------------- 本地连接 SQL BROWSER没开,server 改成 Data Source=  没有变化 --------------------编程问答--------------------
引用 23 楼  的回复:
本地连接 SQL BROWSER没开,server 改成 Data Source= 没有变化



你吧那个 SQL BROWSER 开了,看下 --------------------编程问答-------------------- SQL BROWSER  开了,也没有用
--------------------编程问答-------------------- 是不是这个问题
http://topic.csdn.net/u/20110905/12/f38bf6e0-4ba7-4d69-8c43-9e93e87e7908.html --------------------编程问答-------------------- 这个也是http://blog.csdn.net/zbwzll2/article/details/6721434

大家都是用XP+VS2010 吗? --------------------编程问答-------------------- server=SERVERX
不同的机器,机器名一样吗?

--------------------编程问答-------------------- 在你的xp机器上
telnet 数据库ip 1433
能连接上吗?不能连接,就是网络问题
能连接,就是程序或连接串可能有误 --------------------编程问答--------------------
引用 29 楼  的回复:
在你的xp机器上
telnet 数据库ip 1433
能连接上吗?不能连接,就是网络问题
能连接,就是程序或连接串可能有误


TELNET IP 1433  通过  --------------------编程问答-------------------- 你那个 XP 环境,到底是什么样的,这么多人能想到的问题都告诉你了 --------------------编程问答-------------------- 也许是DNS的问题
连接字符串里写的是机器名,有可能解析不了 --------------------编程问答-------------------- 也许是DNS的问题
连接字符串里写的是机器名,有可能解析不了 --------------------编程问答-------------------- .net 版本一致的话
1.数据库连通情况
2.机器的网络连接情况
3.数据库配置
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,