C#使用ip连接数据库出错,sql server2008

怎么使用ip地址连接局域网内电脑的数据库。我这样写的错了。ip地址写的是本机的局域网ip地址... 怎么使用ip地址连接局域网内电脑的数据库。 我这样写的错了。 ip地址写的是本机的局域网ip地址 展开
 我来答
jadilee
2013-08-20 · TA获得超过472个赞
知道小有建树答主
回答量:475
采纳率:40%
帮助的人:198万
展开全部

"server=192.168.1.7;database=database;uid=sa;pwd=123456"

我的字符串就是这样的.

不过我看你的也差不多哈,

你试试在MSSQL的管理器里面,用这个地址和用户名密码看能不能接入.


using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public static class DBHelper
{
    private static SqlConnection connection;
    public static SqlConnection Connection
    {
        get
        {
            try
            {
                string connectionString = ConfigurationManager.ConnectionStrings["sysConn"].ToString();
                if (connection == null)
                {
                    connection = new SqlConnection(connectionString);
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Closed)
                {
                    connection.Open();
                }
                else if (connection.State == System.Data.ConnectionState.Broken)
                {
                    connection.Close();
                    connection.Open();
                }
            }
            catch (Exception ex) { throw ex; }
            return connection;
        }
    }
    public static int ExecuteCommand(string safeSql)
    {
        SqlCommand cmd = new SqlCommand(safeSql, Connection);
        int result = cmd.ExecuteNonQuery();
        return result;
    }
    public static void ExecuteCommand(string sql, CommandType type, SqlParameter[] para)
    {
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = Connection;
        cmd.CommandText = sql;
        cmd.CommandType = type;
        cmd.Parameters.AddRange(para);
        cmd.ExecuteNonQuery();
    }
    public static int ExecuteCommand(string sql, params SqlParameter[] values)
    {
        SqlCommand cmd = new SqlCommand(sql, Connection);
        cmd.Parameters.AddRange(values);
        return cmd.ExecuteNonQuery();
    }
    public static int GetScalar(string safeSql)
    {
        SqlCommand cmd = new SqlCommand(safeSql, Connection);
        int result = Convert.ToInt32(cmd.ExecuteScalar());
        return result;
    }
    public static int GetScalar(string sql, params SqlParameter[] values)
    {
        SqlCommand cmd = new SqlCommand(sql, Connection);
        cmd.Parameters.AddRange(values);
        int result = Convert.ToInt32(cmd.ExecuteScalar());
        return result;
    }
    public static SqlDataReader GetReader(string safeSql)
    {
        SqlCommand cmd = new SqlCommand(safeSql, Connection);
        SqlDataReader reader = cmd.ExecuteReader();
        return reader;
    }
    public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
    {
        SqlCommand cmd = new SqlCommand(sql, Connection);
        cmd.Parameters.AddRange(values);
        SqlDataReader reader = cmd.ExecuteReader();
        return reader;
    }
    public static DataTable GetDataSet(string safeSql)
    {
        DataSet ds = null;
        SqlCommand cmd = null;
        SqlDataAdapter da = null;
        try
        {
            ds = new DataSet();
            cmd = new SqlCommand(safeSql, Connection);
            da = new SqlDataAdapter(cmd);
            da.Fill(ds);
        }
        catch (SqlException se) { throw se; }
        catch (Exception ex) { throw ex; }
        finally { da.Dispose(); cmd.Dispose(); ds.Dispose(); }
        return ds.Tables[0];
    }
    public static DataTable GetDataSet(string sql, params SqlParameter[] values)
    {
        DataSet ds = new DataSet();
        SqlCommand cmd = new SqlCommand(sql, Connection);
        cmd.Parameters.AddRange(values);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(ds);
        return ds.Tables[0];
    }
}

下面是在webconfig里面设定的东西
 <connectionStrings>
        <add name="sysConn" connectionString="Data Source=192.168.1.9;Initial Catalog=DATAname;User ID=sa;Password=123456"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    这里就是调用的方法:
    
                string strSql = @"SELECT getdate()";
                  public DataTable SateViewTB;
                SateViewTB = DBHelper.GetDataSet(strSql);

这里是一个C#连接数据库的类

追问
DBHelper,I know!   管理器在哪
追答
你的安装SQL就会有企业管理器啊
就是 SQL Server Management Studio
manzhhl
2013-08-20 · TA获得超过248个赞
知道答主
回答量:103
采纳率:0%
帮助的人:29.6万
展开全部

将图中标注的IP地址改为你的IP地址.

追问

我这里只有2个, 没有IP4  地址是这么写的。  我的ip是192.168.1.107

追答
使用IP1也可以.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云天英雄
2013-08-20 · TA获得超过3744个赞
知道大有可为答主
回答量:5976
采纳率:40%
帮助的人:2770万
展开全部
如果是本机的数据库,可以试着使用这样的链接字符串

Data Source=.;Initial Catalog=DataBaseName;Integrated Security=True
//DataBaseName是你的数据库名
追问
我的目的是要连接其他机器的数据库。问题是,我用ip地址连自己的数据库都连不上,怎么去连接其他机器上的数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chen_hongyang
2013-08-20 · TA获得超过5447个赞
知道大有可为答主
回答量:2790
采纳率:91%
帮助的人:870万
展开全部
你在电脑---开始---运行 输入 \\192.168.1.107 看看访问是否正常。
追问
这是本机的地址, 可以ping通的, 我试了下你这个,报错,文件名、目录名或语法不正确
追答
可以ping通不代表你可以访问这部电脑的,你没有访问权限的话是用不了的,你找你们的网络管理员看看吧,在电脑开始运行这个不会报错的 \\192.168.1.107
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小强强126
2013-08-20
知道答主
回答量:58
采纳率:0%
帮助的人:16.2万
展开全部
你试试localhost可以不
追问
可以,localhost可以远程连接么? 我如果要连接本机我直接用.了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式