首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在win server 2008 下 winForm 连接sqlserver 2008

2012-12-21 
在win server 2008 上 winForm 连接sqlserver 2008各位大侠,我在win server 2008上用winForm 连接sqlserve

在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);


             }
             else
             {
                 string connString = @"Data Source=.\SQLEXPRESS;Initial Catalog=Book;Integrated Security=True";
                 SqlConnection connection = new SqlConnection(connString);   //连接到引入的数据库
 
                 connection.Open();  // 打开数据库连接  
                 string sql = String.Format("select count(*) from [User] where workerno='{0}'and password='{1}' and level= '{2}'", userNo, password, levels);  //获取
 
 用户名和密码匹配的行的数量的SQL语句   
                 SqlCommand command = new SqlCommand(sql, connection);   //创建 Command 对象
                 int num = (int)command.ExecuteScalar();  //执行查询语句,返回匹配的行数
                 if (num > 0)    //如果有匹配的行,则表明用户名、密码和权限正确
                 {                       
                     MessageBox.Show("欢迎进入图书仓库管理系统!", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     this.Hide();  //隐藏登录窗体
                     MainFrm mainForm = new MainFrm();// 创建主窗体对象 
                     if (levels == "普通管理员")  //如果是普通管理员登录,怎不能使用员工信息的功能
                     {
                         mainForm.levels1();  //调用主函数中自己定义的函数(不能使用员工信息的供能)
                     }
                     else  //如果是特权管理员
                     {
                         mainForm.levels2();  //可以使用员工信息功能,调用自己定义的函数
                     }
                     mainForm.transmit(txtNo.Text);  //将员工编号放进主窗体,transmit()是主窗体的函数


                     mainForm.ShowDialog(); // 显示窗体                   
                     this.Close();  // 显示窗体执行完毕后,登录窗体关闭
                  }
                  else  //没有匹配的行,表明输入的用户名、密码或者输入的权限错误不正确
                  {
                     if (i == 0) //当i=0时,表明已经三次尝试登录
                     {
                         MessageBox.Show("已三次输入错误,登录界面关闭!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                         this.Close();  //关闭登录窗体
                     }
                     else  //输入错误,但是没有到三次
                     {
                         MessageBox.Show("您输入的用户名或密码错误或者选择了错误的登录权限,还有" + i + " 次机会!", "登录失败", MessageBoxButtons.OK, 
 
 MessageBoxIcon.Exclamation);
                         i = i - 1;  //将i的值减1
                     }
                 }
                 connection.Close();// 关闭数据库连接
             }
             
         }


[其他解释]
引用:
是否与权限有关? sql server 新加的用户可需设置权限?应用程序的权限?
你最好先测试sa能不能访问。是不是本地测试?
[其他解释]
引用:
发粪涂墙...这么有空啊.....
最近只有晚上有时间了,年底了
[其他解释]
是在服务器上直接运行的winform
[其他解释]
没用sa ,用新建的用户可以直接进入sql server
[其他解释]
那基本上和server无关,你用账号:uid和密码:password来登录一下数据库,如果还报那个错,证明你连数据库都登录不了,更别说程序连了。如果SQLServer都登录不了,那开启tcp/ip,named piped、sql Browser。然后网络服务那里的TCP/IP也要启用


[其他解释]
晕,我要问你的都打完了,你看看你这些地方是不是都开启了:
1、
2、
3、
[其他解释]

引用:
我用的vs2010,直接把debug复制到服务器上,字符串放在app.config中,winform和app.config 在一个目录里。是否和没有做安装程序有关?缺少一些运行文件?
额~~~你最好打包成安装程序再放上去,虽然有可能是漏了文件,但是看报错的话还是SQLServer连不上的原因
[其他解释]
引用:
现在我的感觉也是sql server 没有问题,是winform 和app.config之间存在问题,可有解决办法?
这个....试试对你的程序先授予权限,看看是不是app权限太低
[其他解释]
现在我的感觉也是sql server 没有问题,是winform 和app.config之间存在问题,可有解决办法?

热点排行