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

WinForm程序安装完成,运行不了,连接不上数据库

是这样的,我用VS2010写的一个WinForm程序,用的框架是.net4.0,用了VS自带的打包器打包了,在有开发环境的电脑上是能够安装成功且能够运行的,但是给测试组的人测的时候 用的是xp系统,却出现了能够安装运行不了的情况,(他们的电脑都有装.net4.0)..
之后又放在Win8的操作系统上安装,一切正常.
 报出的错误是连接不了数据库。SQL上也设置了允许远程连接,但不知道仍然不行,有个网友提示我说只有 SP3才支持4.0  但是测试部的电脑Service pack也都是3.0的,所以WindowsInstaller-KB893803-v2-x86 这东西一直装不上,提示说我系统上的Service pack版本过高 不需要安装此更新,请教各位大神啊-   -实在没辙了,最让我感觉无语的是,在Win8上居然一切正常。
请教各位前辈如何解决啊,小弟在此谢过了


有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.Data.SqlClient.SqlException (0x80131904): 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
   在 OASystem.Data.DbHelper.ExecuteDataTable(String sqlText)
   在 Manager.SystemSet.Per.dgvBind() 位置 J:\SISS\Pos\Manager\SystemSet\Per.cs:行号 41
   在 Manager.SystemSet.Per.Per_Load(Object sender, EventArgs e) 位置 J:\SISS\Pos\Manager\SystemSet\Per.cs:行号 24
   在 System.Windows.Forms.Form.OnLoad(EventArgs e)
   在 System.Windows.Forms.Form.OnCreateControl()
   在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   在 System.Windows.Forms.Control.CreateControl()
   在 System.Windows.Forms.Control.SetVisibleCore(Boolean value)
   在 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
   在 System.Windows.Forms.Control.Show()
   在 Manager.BaseClass.PublicClass.OpenWin(Form f, Panel pal) 位置 J:\SISS\Pos\Manager\BaseClass\PublicClass.cs:行号 26
   在 Manager.Main.角色权限ToolStripMenuItem_Click(Object sender, EventArgs e) 位置 J:\SISS\Pos\Manager\Main.cs:行号 130
   在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   在 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
   在 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 已加载的程序集 **************
mscorlib
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Manager
    程序集版本: 1.0.0.0
    Win32 版本: 1.0.0.0
    基本代码: file:///C:/Program%20Files/foraise/nn/Manager.exe
----------------------------------------
System.Windows.Forms
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Web.Extensions
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30128.1
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Web.Extensions/v4.0_4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll
----------------------------------------
System.Web
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30128.1 built by: RC1Rel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Core
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms.resources
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 built by: RTMRel
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Data
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
OASystem
    程序集版本: 0.0.0.0
    Win32 版本: 0.0.0.0
    基本代码: file:///C:/Program%20Files/foraise/nn/OASystem.DLL
----------------------------------------
Microsoft.Practices.EnterpriseLibrary.Data
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.0.0
    基本代码: file:///C:/Program%20Files/foraise/nn/Microsoft.Practices.EnterpriseLibrary.Data.DLL
----------------------------------------
Microsoft.Practices.EnterpriseLibrary.Common
    程序集版本: 2.0.0.0
    Win32 版本: 2.0.0.0
    基本代码: file:///C:/Program%20Files/foraise/nn/Microsoft.Practices.EnterpriseLibrary.Common.DLL
----------------------------------------
Microsoft.Practices.ObjectBuilder
    程序集版本: 1.0.51205.0
    Win32 版本: 1.0.51205.0
    基本代码: file:///C:/Program%20Files/foraise/nn/Microsoft.Practices.ObjectBuilder.DLL
----------------------------------------
System.Data.OracleClient
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30128.1 (RC1Rel.030128-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data.OracleClient/v4.0_4.0.0.0__b77a5c561934e089/System.Data.OracleClient.dll
----------------------------------------
System.Management
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.Transactions
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Data.resources
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/System.Data.resources.dll
----------------------------------------
mscorlib.resources
    程序集版本: 4.0.0.0
    Win32 版本: 4.0.30319.1 (RTMRel.030319-0100)
    基本代码: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_zh-Hans_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
log4net
    程序集版本: 1.2.10.0
    Win32 版本: 1.2.10.0
    基本代码: file:///C:/Program%20Files/foraise/nn/log4net.DLL
----------------------------------------

************** JIT 调试 **************
要启用实时(JIT)调试,
该应用程序或计算机的 .config 文件(machine.config)的 system.windows.forms 节中必须设置
jitDebugging 值。
编译应用程序时还必须启用
调试。

例如: 

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

启用 JIT 调试后,任何未经处理的异常
都将被发送到在此计算机上注册的 JIT 调试器,
而不是由此对话框处理。


--------------------编程问答-------------------- sql server有没有安装,有没有配置正确。防火墙端口,等等。 --------------------编程问答-------------------- SqlConnection lin = new SqlConnection();
  lin.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Library;server=SLEEPYBEAR-PC;";
  lin.Open();//报错语句
  Label1.Text="连接成功";
  lin.Close();
  lin.Dispose();



connStr = "Persist Security Info=False;Integrated Security=SSPI;database=...;server=..."
connStr1 = "Persist Security Info=False;User ID=...;Password=...;Initial Catalog=...;Server=..."
--------------------编程问答-------------------- 你应该直接数据库连接到远程服务器上写程序,而不是使用VS2010自带的精简版数据库,因为精简版数据库的连接字符串写法不一样,有\SQLEXPRESS后缀。 --------------------编程问答-------------------- 应该不是程序错误,
1.数据库服务器没有启动(或者连接串有问题)
2.防火墙禁用了端口
--------------------编程问答-------------------- 不是程序错误,是数据库连接不上。 --------------------编程问答--------------------
引用 1 楼 caozhy 的回复:
sql server有没有安装,有没有配置正确。防火墙端口,等等。

安装正确啊,防火墙也都是关闭的,之前做的asp.net项目 远程访问也是没有问题的 --------------------编程问答--------------------
引用 2 楼 hefeng_aspnet 的回复:
SqlConnection lin = new SqlConnection();
  lin.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;database=Library;server=SLEEPYBEAR-PC;";
  lin.Open();//报错语句
  Label1.Text="连……


<connectionStrings>
    <add name="Connection String" connectionString="server=192.168.1.254;database=POS_test;user id=sa;password=8233580;min pool size=4;max pool size=20;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
这个是我的连接字符串,应该不是连接字符串的问题吧??因为我的程序在Win8里访问是没有任何错误的。 --------------------编程问答--------------------
引用 3 楼 qldsrx 的回复:
你应该直接数据库连接到远程服务器上写程序,而不是使用VS2010自带的精简版数据库,因为精简版数据库的连接字符串写法不一样,有\SQLEXPRESS后缀。


我的数据库是远程服务器上的,很悲催的,打包完成后,有开发环境的电脑上都是能够解压安装运行的,在测试部的电脑上就不行了,我们是局域网,他们电脑也都安装了数据库,但是程序安装完成了就是连不上数据库 --------------------编程问答-------------------- 你的数据库是不是固定在那个IP为192.168.1.254的电脑上?如果是在本地安装数据库,那可不行,因为XP是不允许安装数据库的。 --------------------编程问答--------------------
引用 9 楼 qldsrx 的回复:
你的数据库是不是固定在那个IP为192.168.1.254的电脑上?如果是在本地安装数据库,那可不行,因为XP是不允许安装数据库的。

这是公司的服务器,所有项目的数据库都是在这个IP的电脑上的 --------------------编程问答-------------------- 先用odbc试一下测试机能否连接数据库,假如能连接,则是程序问题,
假如不能连接测试测试机数据库连接配置问题 --------------------编程问答-------------------- 用的项目连数据库?
实例名不对,你安装的是两个数据库,如果都是用的IP连接,那只能连一个数据库 --------------------编程问答-------------------- --------------------编程问答-------------------- 把连接字符串中的 server=SLEEPYBEAR-PC 改成 server=IP地址

如果服务器和客户端部在一个网段就不能用机器名的用IP地址! --------------------编程问答--------------------
引用 14 楼 wl076 的回复:
把连接字符串中的 server=SLEEPYBEAR-PC 改成 server=IP地址

如果服务器和客户端部在一个网段就不能用机器名的用IP地址!


我已经换成IP地址了。无效
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,