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

C#链接SQL Server 2005的问题

Web server, SQL Server都在本机上。
连接语句如下:
  SqlConnection conn;  
  conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789"); 
  conn.Open();

奇怪的是,如果是一个C#, WinForm的程序,这个链接可以成功,并且已经可以INSERT数据到表里了。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
           SqlConnection conn;  
           conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789"); 
           conn.Open();


但是,如果是在Web上面,同样的

           SqlConnection conn;  
           conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789"); 
           conn.Open();

报告错
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) 
这是为什么? --------------------编程问答-------------------- 如果是SQL Server 2005,一般本地server是.\sqlexpress,改一下试试看吧。 --------------------编程问答-------------------- 没开启远程连接吧 --------------------编程问答-------------------- LZ的方法一般连接SQL Server2000不会有问题 --------------------编程问答-------------------- 在server里面加上实例名字 --------------------编程问答-------------------- Data Source=192.168.11.3;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789;

好像是没有什么问题

你的SQL server启动了吗?还有SQL的TCP/IP配置好了吗? --------------------编程问答-------------------- 如果是SQL server2005的话应该是  Data Source=.\sqlexpress;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789;
--------------------编程问答--------------------
怎么那么多人用express版的 --------------------编程问答-------------------- 不用这么麻烦,直接localhost或者是127.0.0.1就OK了啦 --------------------编程问答-------------------- --------------------编程问答-------------------- 试下在配置文件中写

  <connectionStrings>
    <add name="strConnectionString" connectionString="Data Source=.\\sqlexpress;Initial Catalog=User;User id=TestDb_Admin;pwd=123456789" providerName="System.Data.SqlClient"/>

  </connectionStrings>

在页面或者数据访问层调用。
string strCon = ConfigurationManager.ConnectionStrings["strConnectionString"].ConnectionString;
添加引用System.Configuration
using System.Configuration;

视图中有个服务器资源管理器,你用他连接下数据库。要是连不上,看看是服务没开还是其他原因。
--------------------编程问答-------------------- 简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知! --------------------编程问答--------------------

 各种数据库的连接方法(以前收集的)

http://www.shilidata.com/showtopic-46.aspx --------------------编程问答-------------------- conn= new SqlConnection("server=192.168.11.3;database=TestDb;uid=TestDb_Admin;pwd=123456789"); 
SQL server2005的话应该是 Data Source=.\sqlexpress;Initial Catalog=TestDb;User Id=TestDb_Admin;Password=123456789吧?
--------------------编程问答--------------------
引用 11 楼 libinlink 的回复:
简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知!

这个方法好,本人使用过SQL2005,2000和2005的连接串的写法有所区别的。 --------------------编程问答-------------------- 1、sqlexpress的协议里是否已经启用了TCP/IP
2、是否已经启用远程连接到此服务器
3、是否已经启用SQLServer 和Windows身份验证模式。 --------------------编程问答-------------------- 还没解决没?

web上涉及的问题就多了,特别是局域网,端口问题是很重要的, --------------------编程问答--------------------
引用 7 楼 ff1222 的回复:
怎么那么多人用express版的



这个是对的,你把你的sql server升级下就OK 了 ! --------------------编程问答-------------------- 如果数据库服务器不是本机,看看是不是数据库服务器的防火墙的问题,ping 服务器ip 1433。 --------------------编程问答-------------------- 学习学习。 --------------------编程问答--------------------
引用 11 楼 libinlink 的回复:
简单,
使用vs自带的添加服务器的功能,新加一个数据库服务器,vs自己生成的数据库连接拷贝下来,
一看便知!

+1 --------------------编程问答-------------------- 1、sqlexpress的协议里是否已经启用了TCP/IP 和端口
2、是否已经启用远程连接到此服务器
3、是否已经启用SQLServer 和Windows身份验证模式。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,