日期:2014-05-17  浏览次数:20652 次

在win server 2008 上 winForm 连接sqlserver 2008
各位大侠,我在win server 2008上用winForm 连接sqlserver 2008,总是出现“provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接”错误,我用的连接字符串是“<add name="sqlconnection"  connectionString="DataSource=localhost;Database=myDB;uid=uid;pwd=password;"      providerName="System.Data.SqlClient" />  ”。
疑问有三: 一是连接字符串是否有问题?二是sqlserver 2008 应如何配置?三是win server 2008 要如何配置?请指教,谢谢!
------最佳解决方案--------------------
我用的vs2010,直接把debug复制到服务器上,字符串放在app.config中,winform和app.config 在一个目录里。是否和没有做安装程序有关?缺少一些运行文件?
------其他解决方案--------------------
1、连接字符串到网上搜搜就好了。
2、你这个报错应该是没有开启named piped服务,然后还要开启sql Browser。
3、win server的话一般只要把防火墙陪一下就好了。

最重要是第二步,你先检查一下服务开启没有
------其他解决方案--------------------
您好,服务已经开启,是否还需要重启win server

------其他解决方案--------------------
不需要,;uid=uid;pwd=password你的账号就是uid?密码就是password?
------其他解决方案--------------------
只是测试用的。还是不行。我用的是.net 4 服务器上也安装了,可有别的问题没有想到?
------其他解决方案--------------------
发粪涂墙...这么有空啊.....
------其他解决方案--------------------
是否与权限有关? sql server 新加的用户可需设置权限?应用程序的权限?
------其他解决方案--------------------
找了个例子:
using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using System.Data.SqlClient;
 
 
 namespace BookHouseMag
 {
     public partial class Login : Form
     {
         public Login()
         {
             InitializeComponent();
         }
 
         int i= 2; //密码连续输入三次错误将关闭登录窗口,i用来记录登录次数
 
         private void btnYes_Click(object sender, EventArgs e) 
         {
             string userNo = txtNo.Text;     //用户编号
             string password = txtPwd.Text;  //用户密码
             string levels = cboLevel.Text;
             if (userNo == "" 
------其他解决方案--------------------
 password == "")  //没有输入用户名或者密码给予提示
             {
                 MessageBox.Show("请输入完整的用户名和密码", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);