欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

[]怎么将远程服务器数据库中的部分数据读取到另外一个远程服务器数据库中

更新时间: 2014-01-05 02:17:03 责任编辑: Author_N1

 

[求助]如何将远程服务器数据库中的部分数据读取到另外一个远程服务器数据库中
需要写.net后台,不是在sql中操作!
错误提示,Named Pipes Provider, error: 40 。设置没有问题,用sql可以连接,所以还是程序的问题。小弟初到公司乍到,各位大侠给看看吧
我的思路是,先连接一个远程服务器,然后在上面建立链接服务器,然后进行数据操作,应该没有错吧?
//创建链接服务器
        string linkserver = "EXEC master.dbo.sp_addlinkedserver @server = N'Link',@srvproduct=N'ms',@provider=N'SQLOLEDB',@datasrc=N'*.*.*.*:*'";
        string linklogin = "EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'Link',@locallogin = NULL,@useself = N'false',@rmtuser=N'*admin',@rmtpassword='*";
//这个没有用到,需要怎么操作?
        //判断链接服务器是否存在
        string linkexist = "select count(*) from master..sysservers where srvname='Link'";
        //链接字符串
        string connstring = "Server=Link;Database=Book;User ID=caijiadmin;PassWord=caiji@159.com";//远程数据库1
        string connstring1 = @"Data Source=.\SQLEXPRESS;AttachDbFilename=d:\sun\Desktop\Admin2\App_Data\Database.mdf;Integrated Security=True;User Instance=True";//本地数据库1

        
        if(IsLink(connstring1,linkexist))//判断链接服务器是否存在。存在:进行数据读取;不存在:创建
        {
            int datanums = GetCounts(connstring, "select count(*) from Link.Book.dbo.BookInfo");
            count.Text = datanums.ToString();
        }
        else
        {
            if (LinkData(connstring1, linkserver))//创建链接服务器.创建成功:读数据;失败:
            {
                int datanums = GetCounts(connstring, "select count(*) from Link.Book.dbo.BookInfo");
                count.Text = datanums.ToString();
            }
            else
            { }
        }
    }
    //返回表的记录总数
    public int GetCounts(string connstring, string cmdstring)
    {
        using (SqlConnection conn = new SqlConnection(connstring))
        {
            SqlCommand cmd = new SqlCommand(cmdstring, conn);
            try
            {
                conn.Open();
                int i = Convert.ToInt32(cmd.ExecuteScalar());
                return i;
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                throw new Exception(e.Message);
            }
        }
    }
    //创建链接服务器
    public bool LinkData(string connstring, string cmdstring)
    {
        using (SqlConnection conn = new SqlConnection(connstring))
        {
            SqlCommand cmd = new SqlCommand(cmdstring, conn);
            try
            {
                conn.Open();
                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                    return true;
                else
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:03
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7941/
本文WWW.DOC100.NET DOC100.NET版权所有。