异地的也可以直接导入,远程连接SqlServer

解决方案 »

  1.   

    用两个循环,先读出原内容(可放在数据集中),
    再遍历存入Access(预先建好)
      

  2.   

    这样 你把异地Access 的数据库copy到你的计算机中的本地目录下面,//读你本地计算机中上sql2000种的数据到datatable
     private DataTable getDataTable()
    {
     string strSql;
            DataTable myDS = new DataTable ();
            
            strSql = "select * from  [biao] "
            //Response.Write(strSql);
            myDS = GetDataTable (strSql);        return myDS;
    }
        public DataTable GetDataTable(string strSql)
        {
            SqlDataAdapter myDataAdapter;
            DataTable myDT = new DataTable();
            String strConn;        strConn = GetConnStr();
            myDataAdapter = new SqlDataAdapter(strSql, strConn);
            myDataAdapter.Fill(myDT);        return myDT;
        }    
    //插入到你的Access数据库中
    private void WtiteAccess(DataTable tb)
    {  for (int i = 0; i < tb.Rows.Count ; i++)
    {
     string  strSql = "INSERT INTO Data_b (" + strField + ") VALUES (" + strValue + ")";
    ExecuteSQL(strSql);
    }
    }
     public void ExecuteSQL(string strSql)
        {
            SqlConnection myConnection;
            SqlCommand myCommand;
            myConnection = new SqlConnection(GetConnStr());
            myCommand = new SqlCommand(strSql, myConnection);
            myConnection.Open();
            myCommand.ExecuteNonQuery();
            myConnection.Close();
        }
    //最后把你的这个access放到异地的计算机上就可以了
      

  3.   

    不好意思 后面这个 要用这个方法(因为是Access):
     public void ExecuteSQL(string strSql)
        {
                     
            OleDbConnection myConnection;
            OleDbCommand myCommand;
            myConnection = new OleDbConnection(GetConnStr());
            myCommand = new OleDbCommand(strSql, myConnection);
            myConnection.Open();
            myCommand.ExecuteNonQuery();
            myConnection.Close();
        }
      

  4.   

    我的那个是单机版的,数据是从sql2000里来的,因为数据量很大,所以导入时间很长,需要一个比较好
    解决方案,谢谢各位了