环境: VS2008 
平台:wince5.0
数据库: sqlserver 2000现在做了一个在PDA通过WIFI直连远程数据库的应用
通过VS2008已经部署到了PDA上,但是连接远程数据库的时候连接不上,
错误信息是 Exception ,如何调试都捕获不到相信的错误信息。
创建一个windows应用用相同代码连接数据库是OK的
PDA上连接代码如下:string Connstr= 
//"user id=sa;initial catalog=master;Server=192.168.1.105;Connect Timeout=30";
"Data Source=192.168.1.105" +
";User ID=yang.f" +
";password=123" +
";initial catalog=sop" ;SqlConnection Conn = new SqlConnection(Connstr);try
{
    Conn.Open();
}catch (Exception ex)
{
    MessageBox.Show("无法连接到指定的PC数据库!" + ex.Message);
    return;
}请问问题出在哪里?本人刚接触C#

解决方案 »

  1.   

    用WCF试下.
    好象WINMOBILE是不能直接连接这种数据库,但是可以连接SQLCE的.
    WINCE好象也是一样的吧.
      

  2.   

    WINMOBILE是不能直接连接sql server 数据库
      

  3.   


    【注意】我的是WINFORM程序,程序运行目录下有时候需要拷贝一个dbnetlib.dll文件,在WINCE5.0下运行连接SQL SERVER2000 和SQL SERVER2005没问题,CF2.0,连接SQL SERVER2008那个不好用啊。
            private void doLink(String type)
            {
                SqlConnection conn = null;
                try
                {                this.label1.Text = "";
                    this.label2.Text = "";
                    //建立连接
                    String dblinkCon = "";
                    String sql = "";
                    //2000
                    if (type == "2000")
                    {
                        dblinkCon = "Server=192.168.30.57;DataBase=aaaaa;User ID=sa;Password=sa;";
                        sql = "select login_name as name from T_USER where login_id = 'admin'";
                    }
                    //2005
                    else if (type == "2005")
                    {
                        dblinkCon = "Server=192.168.30.56;DataBase=aaaaa;User ID=sa;Password=sa123SA;";
                        sql = "select login_name as name from user where login_id = 'admin'";
                    }
                    //2008
                    else if (type == "2008")
                    {
                        dblinkCon = "Server=192.168.16.13;DataBase=aaaa;User ID=sa;Password=aaaaa;";
                                            sql = "select yh_nm as name from mst_yh where yh_id = 'admin'";
                    }                this.label1.Text = dblinkCon;
                    this.label2.Text = sql;                String name = "";
                
                
                    conn = new SqlConnection(dblinkCon);
                    conn.Close();
                    conn.Open();                SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = sql;
                    cmd.Connection = conn;
                    //执行登陆SQL
                    SqlDataReader reader = cmd.ExecuteReader();                if (reader.Read())
                    {
                        //取得登陆用户名字
                        name = (String)reader["name"];
                        MessageBox.Show("连接成功!取得数据[" + name + "]!");
                    }
                    else {
                        MessageBox.Show("连接成功!未读取数据!");
                    }
                    reader.Close();
                    conn.Close();
                    
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                    conn.Close();
                }