首页 新闻 会员 周边 捐助

winCE连接远程数据库 报错“SQL Server 不存在或访问被拒绝。”

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-09-03 11:44

在 conn.Open(); 处会报错,“SQL Server 不存在或访问被拒绝。

我用SQL2005直接连接远程数据库就没有问题

-----------------------------------------------------------------

下面是我的程序,请大家帮忙看看是什么原因

环境:winCE + VS2008 + SQL2005

步骤:

1.下载System.Data.SqlClient.dll 和 dbnetlib.dll

2.引用SqlClient

using System.Data.SqlClient; 

3.在程序的执行目录下拷贝一个dbnetlib.dll文件,在dbnetlib.dll文件上右键-属性-高级 -复制到输出目录:如果较新则复制

4. Code 

string Sqlstr = "Data Source=192.168.1.106;Database=MSDB;User ID=sa;Password=sgsg";
string sql = "select * from DCS_MOBILES";
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(Sqlstr))
{
    try
    {
        conn.Open();
    }
    catch (SqlException sqle)//Exception
    {
        MessageBox.Show("出现错误:" + sqle.Message.ToString());
        //throw;
    }
        using (SqlDataAdapter cmd = new SqlDataAdapter(sql, conn))
        {
            cmd.Fill(dt);
        }

}
问题补充:

这个程序之前是能够正常运行的,后来冲做了下系统后就报这个错误了

bdf216的主页 bdf216 | 初学一级 | 园豆:170
提问于:2013-08-28 17:24
< >
分享
所有回答(3)
0

数据库服务器的防火墙是否允许了1433端口的访问?

dudu | 园豆:30778 (高人七级) | 2013-08-28 17:31

我把防火墙都关了...  我现在在本地调试呢

支持(0) 反对(0) bdf216 | 园豆:170 (初学一级) | 2013-08-29 11:36
0

你原来能用??他只能连接本地机的Sql server,不能连接网络中的Sql server。我以前做过这个东西,咨询设备供应商也解决不了。你解决了,也顺便告诉我。

我后来就在本地机又装了一个数据库,在同步数据的时候先复制到本地,再传输到wince中来。

kylin.chen | 园豆:983 (小虾三级) | 2013-08-28 21:50

我做系统前这个东西是可以用的,我在设备上用的是SQLite存储数据,之后在后台程序里读取SQLite中的数据,同时再用上面的方法连接到远程数据库SQL Server,这样间接实现的数据同步,但是做系统后用上面的方法连接远程数据库时,在打开数据库的时候[open()]就报错了...

谁还知道其他的方法可以将设备的数据读取到PC机的方法么,请告诉我下。

支持(0) 反对(0) bdf216 | 园豆:170 (初学一级) | 2013-08-29 11:26

@bdf216: 

我不理解你做系统前能用是个什么情形。

我用Sql Server Compact做wince上的数据库,通过SqlCeConnection连接这个移动数据库,然后再用SqlConnection连接网络中的数据库,就是连接不上,但只能链接这个wince设备接入的这台机器的Sql server,但wince上外网可以啊,很迷惑。你可以试试连接本地机的Sql server看看。

我用的这个设备是新大陆的一个扫描枪。

支持(0) 反对(0) kylin.chen | 园豆:983 (小虾三级) | 2013-08-29 14:14
0

我将程序和环境在同事的电脑上部署了下,在他电脑上没有问题,应该是我电脑的环境有问题。

bdf216 | 园豆:170 (初学一级) | 2013-09-03 11:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册