VS 2005 C#では、ユーロ(€)記号をDb2テーブルに挿入している間、値を正しく格納しています。DISABLEUNICODE = 1パラメータは、これを正しく保存するのに役立ちました。
しかし、テーブルから読み取ろうとすると、次のようにジャンク文字が表示されます。
「SpecGS1」
同じコードがVB6.0ADOで機能しています
手伝っていただけませんか。
コード:
OdbcConnection con = new OdbcConnection();
OdbcDataAdapter dataAdapter = new OdbcDataAdapter("SELECT * FROM XXXX.XXXX" , con);
OdbcCommand odbcCommand =
new OdbcCommand(
"INSERT INTO XXXX.XXXX( BREACH_TYPE,JURISDICTION,ACTIVE ,VERIFIED , UPDATED_TS , UPDATED_BY ,VERIFIED_TS ,VERIFIED_BY)VALUES ('Spec GS € 1','IRE','Y','Y',CURRENT TIMESTAMP,'XECCRT3',CURRENT TIMESTAMP,'XECCRT8')");
con.ConnectionString = "DSN=DSNT;UID=xxxxxx;PWD=xxxxxx;MODE=SHARE;DBALIAS=DSNT;DISABLEUNICODE=1;PATCH1=1024;LONGDATACOMPAT=1;LOBMAXCOLUMNSIZE=1048575;PATCH2=6;";
con.Open();
odbcCommand.Connection = con;
odbcCommand.ExecuteNonQuery();
dataAdapter.SelectCommand.CommandTimeout = 0;
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
DataTable result = dataSet.Tables[0];
string Text = result.Rows[0][0].ToString();
MessageBox.Show(Text = result.Rows[0][0].ToString());
con.Close();