2015年04月17日

Azure SQL + FireDAC(Delphi XE7) で、日本語文字化け

Azure SQL + FireDAC(Delphi XE7) で、日本語文字化け (N プレフィックスは?)

結論 
FDQuery1.ParamByName('xxxxNAME').AsWideString :=Edit_xxxxNAME.Text;
で、N を記述しなくでも、OKでした。

SQL Server Management Studio でも、文字化けしたので、??っとなったのですが、
z005.png
『sql azure 日本語 文字化け』とかで、くぐってみると、SQL Azure での日本語の扱いには N プレフィックスが必要といった内容

で、N をつけてみると。
z011.png


SQL Server Management Studioで、OK
Delphi で、
  SQLstmt:='insert into TEST_TBL '
  +' ( '
  +'TSNO,TSNAME,TSQTY '
  +' ) '
  +'values'
  +' ('
  +'77,N' + QuotedStr('あああ')+',77'

    FDQuery1.SQL.Clear;   //SQLクリアー
    FDQuery1.SQL.Text:= sqlstmt;  // 実行する(INSERT)SQLをセット
    FDQuery1.Execute();
z026.png
は、N プレフィックスでOK。

バインド変数にすると、文字化けが出ました。
z030.png
そこで、Nをと
z032.pngz031.pngz033.png
とやってみましたが、ダメでした。

RAD Studio Osaka FB Groupに投稿とておりましたところ、メンバーの吉原さんより、

吉原 泰介FDQuery1.ParamByName('XXXX').DataType := ftWideString;
FDQuery1.ParamByName('XXXX').AsWideString := 'あああ';
吉原 泰介とかparam側でもダメですかね

と、ご教授いただいたので、やってみましたところ、N プレフィックスは不要でOKでした。














posted by a23 at 19:08| Comment(0) | 005 FireDAC

2015年02月28日

プロジェクトxxxx.exeは例外クラスEPgNativeException(メッセージ)'[FireDAC][Phys][PG][libpq]ERROR: numericフィールドがオーバーフローしています。 制度8、位取り0を持つフィールドは、10^8より小さな絶対値に丸められます')を送出しました。

PostgreSQL9.3
プロジェクトxxxx.exeは例外クラスEPgNativeException(メッセージ)'[FireDAC][Phys][PG][libpq]ERROR: numericフィールドがオーバーフローしています。
制度8、位取り0を持つフィールドは、10^8より小さな絶対値に丸められます')を送出しました。pg.png
posted by a23 at 17:14| Comment(0) | 005 FireDAC