none
数据库复制到别的机器上就不能用了 RRS feed

  • 问题

  • 我在自己的机器上用windows窗体访问本机数据库是成功的,可以添加、查询等。但是将程序和数据库文件拷贝到同事的机器上就不能再访问了,请问怎么解决,如果用远程登录,需要怎么做啊?
    新手学习,再学习......
    2010年4月19日 2:55

答案

  • 你检查下你程序中连接数据库的字符传中服务器的地址,用户名和密码是否正确,

    你把数据库放到别的机器上,你的连接字符串信息也要更改


    努力+方法=成功
    2010年4月19日 3:11
  • 如果你是使用WINDOWS身份验证的方式附加的数据库,你检查下你的Data Source地址,


    努力+方法=成功
    2010年4月19日 3:44

全部回复

  • 你检查下你程序中连接数据库的字符传中服务器的地址,用户名和密码是否正确,

    你把数据库放到别的机器上,你的连接字符串信息也要更改


    努力+方法=成功
    2010年4月19日 3:11
  • 我的链接字符串在我的机器上是可以运行的,我把数据库和程序文件都复制到别的机器上,

    SqlConnection thisConnection = new SqlConnection("Integrated Security=true; Initial Catalog=ourexam; Data Source=localhost\\SQLExpress");这个代码就是指的任何机器的本机数据库吧?

    请 开心 帮我看看需要修改什么吗?


    我也在别的机器上用数据库软件添加了我要访问的数据库文件,但是仍然是访问失败。
    2010年4月19日 3:25
  • 你是通过什么方式把数据库复制别的机器上的SQL数据库中的,

    你要检查下数据库连接的方式和服务器地址


    努力+方法=成功
    2010年4月19日 3:30
  • 回复 开心

    我使用SQL server Express的对象资源管理器,在数据库上单击右键,选中附加,然后选择我复制过来的数据库文件。你说的链接方式和地址指的是什么?数据库是Windows登录方式,我用

    SqlConnection thisConnection = new SqlConnection("Integrated Security=true; Initial Catalog=ourexam; Data Source=localhost\\SQLExpress");
            DataSet thisDataSet = new DataSet();

    连接数据库,并使用

    SqlDataAdapter bookNameAdapter = new SqlDataAdapter("SELECT * FROM Zhonglei", thisConnection);bookNameAdapter.Fill(thisDataSet, "Zhonglei");

    来读取表,就是在bookNameAdapter.Fill(thisDataSet, "Zhonglei")时;

    出现:“无法打开登录所请求的数据库 "ourexam"。登录失败。用户 'F88156F95C0945F\Chen' 登录失败。”


    新手学习,再学习......
    2010年4月19日 3:37
  • 如果你是使用WINDOWS身份验证的方式附加的数据库,你检查下你的Data Source地址,


    努力+方法=成功
    2010年4月19日 3:44
  • 回复 开心

    我的Data Source=localhost\\SQLExpress,有问题吗?


    新手学习,再学习......
    2010年4月19日 3:49
  • 回复开心,问题我解决了,谢谢你。

    我在SQL server Express对象资源管理器下看不到我的数据库的表,我把删除后,重新再附加一次就可以了,谢谢你哈。

    还能不能再问个问题,请问我想在同事的机器上访问我的机器上的数据库,就是上面的那个数据库,我使用Integrated Security=true; Initial Catalog=ourexam; Data Source=192.168.1.109\\SQLExpress;uid=sa;pwd=ExamManage这个链接字符串,但是没有成功,请帮我看看是不是存在什么问题?感谢中


    新手学习,再学习......
    2010年4月19日 3:54
  • 查看下你的SQL server Express是否允许进行远程连接

    http://hi.baidu.com/308068980/blog/item/4bb3e1672ca3322eaa184c74.html


    努力+方法=成功
    2010年4月19日 4:41
  • 回复 开心

    telnet <服务器IP地址> 1433
    命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听。

    是不是SQL Server2005Express不能做数据库服务器啊?我的SQL配置工具中没有“服务器网络使用工具”,估计是这个问题吧?


    新手学习,再学习......
    2010年4月19日 5:13
  • 我觉得最先要弄明白的问题是:

    1)你想访问的数据源来源是哪里?是你的机子(称为Local PC)还是你软件所在的机子(称为Test PC)。

    2)若是Local PC的话,那么你不必将数据库文件随同软件一起拷贝到Test PC,而在测试时需要保证Local PC的数据库能Test PC访问。

    3)若数据来源于Test PC,你要做的不仅是将数据库文件和软件拷贝到Test PC里面,还需要保证数据库文件在Test PC的数据库中跑起来这样才能获得数据库(如SQL server)提供的服务。然后,你需要修改你code中的connection string,来使软件能够访问到Test PC的database。

    2010年4月19日 10:04