用c#程序时时从oacle倒到sqlserver2000里的数据为和出现乱码?

解决方案 »

  1.   

    把代码贴出来,大家帮着看看,要倒数据量较大,导出的前几条正常,后来的就乱码了
    不知道社么原因,怎么办??
    while(true)
    {

    string selectcmd = "select * from v_duanxin_query";
    string insertcmd = "";
    OracleDbConnection myoracle = new OracleDbConnection(ConfigurationSettings.AppSettings["oracleconnstring"]);
    OracleDbCommand myoraclecomm = new OracleDbCommand(selectcmd,myoracle);
    SqlConnection mysqlconn = new SqlConnection(ConfigurationSettings.AppSettings["sqlconnstring"]);
    SqlCommand mysqlcomm = new SqlCommand(insertcmd,mysqlconn);
    myoracle.Open();
    mysqlconn.Open();
    try
    {
    OracleDbDataReader myreader = myoraclecomm.ExecuteReader();
    mysqlcomm.CommandText="delete fasong";
    mysqlcomm.ExecuteNonQuery();
    while(myreader.Read())
    {
    mysqlcomm.CommandText="insert into fasong(calling_nbr,counts) values('"+myreader["calling_nbr"].ToString()+"','"+myreader["counts"].ToString()+"')";
    mysqlcomm.ExecuteNonQuery();
    Thread.Sleep(7200000); }
    }
    catch(Exception ev)
    {
    Console.WriteLine(ev.Message);
    }
    finally
    {
    myoracle.Close();
    mysqlconn.Close();
    }
    Console.WriteLine("Waiting...");
    Thread.Sleep(7200000);
    }
      

  2.   

    把代码贴出来,大家帮着看看,要倒数据量较大,导出的前几条正常,后来的就乱码了
    不知道社么原因,怎么办??
    while(true)
    {

    string selectcmd = "select * from v_duanxin_query";
    string insertcmd = "";
    OracleDbConnection myoracle = new OracleDbConnection(ConfigurationSettings.AppSettings["oracleconnstring"]);
    OracleDbCommand myoraclecomm = new OracleDbCommand(selectcmd,myoracle);
    SqlConnection mysqlconn = new SqlConnection(ConfigurationSettings.AppSettings["sqlconnstring"]);
    SqlCommand mysqlcomm = new SqlCommand(insertcmd,mysqlconn);
    myoracle.Open();
    mysqlconn.Open();
    try
    {
    OracleDbDataReader myreader = myoraclecomm.ExecuteReader();
    mysqlcomm.CommandText="delete fasong";
    mysqlcomm.ExecuteNonQuery();
    while(myreader.Read())
    {
    mysqlcomm.CommandText="insert into fasong(calling_nbr,counts) values('"+myreader["calling_nbr"].ToString()+"','"+myreader["counts"].ToString()+"')";
    mysqlcomm.ExecuteNonQuery();
    Thread.Sleep(7200000); }
    }
    catch(Exception ev)
    {
    Console.WriteLine(ev.Message);
    }
    finally
    {
    myoracle.Close();
    mysqlconn.Close();
    }
    Console.WriteLine("Waiting...");
    Thread.Sleep(7200000);
    }
      

  3.   

    可能是oracle客户端字符集设置的问题
    你看一下注册表里的字符集是否和服务器端的字符集设置一样程序在读取数据时也要统一一下字符集