«попытка прочитать прошедший поток EOM» с использованием Sybase.AdoNet4.AseClient - PullRequest
0 голосов
/ 04 января 2019

Я новичок в публикации на кого-то, надеюсь, я получу все, что мне нужно здесь.

Я использую Sybase.AdoNet4.AseClient для подключения к хосту Sybase.

Если я подключаюсь к хосту 1, все работает так, как должно, хост 2 выдает мне сообщение об ошибке «попытка прочитать прошедший поток EOM».

Я могу подключиться к хосту 1 или 2 через интерактивный SQL, и запросы отлично работают на обоих хостах.

Я провел поиск и попытался добавить наборы символов в соединение. Я пробовал charset = iso_1 и CharSet = utf8.

Пожалуйста, помогите!

Спасибо!

static void Main(string[] args)
    {
        string Conn2 = "HOSTNAME=somehost;EncryptPassword=1;USER=UserName;PWD=SuperSecret;Data Source=Source1;PORT=1";

        AseConnection Conn = new AseConnection(Conn2);

        //MessageBox.Show(Conn.ToString());

        string query = "select user_name(), db_name()";

        DataTable table1 = new DataTable();
        //StreamWriter myfile = new StreamWriter(@"C:\Temp\test.txt");

        try
        {
            Conn.Open();

            AseDataAdapter da = new AseDataAdapter(query, Conn);
            da.Fill(table1);

            //System.Text.StringBuilder b = new System.Text.StringBuilder();
            foreach (System.Data.DataRow r in table1.Rows)
            {
                foreach (System.Data.DataColumn c in table1.Columns)
                {
                    //b.Append(r[c.ColumnName].ToString() + "<|>");
                }
                //myfile.WriteLine(b.ToString());
                //b.Append(Environment.NewLine);
            }

            //myfile.WriteLine(b.ToString());

        }

        catch (Exception ex)
        {
            // Connection failed
            MessageBox.Show(ex.Message);
        }

        Conn.Close();
    }
...