PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
24609 21/02/22 09:36:26 RE(12):PB12.6: MySQLへのINSERTができるようになった~その後~ By Wutian
24608 21/02/18 12:31:57 RE(11):PB12.6: MySQLへのINSERTができるようになった~その後~ By JBI
24607 21/02/17 13:53:20 RE(10):PB12.6: MySQLへのINSERTができるようになった~その後~ By Wutian
24606 21/02/17 12:42:31 RE(9):PB12.6: MySQLへのINSERTができるようになった~その後~ By JBI
24605 21/02/16 14:38:42 RE(8):PB12.6: MySQLへのINSERTができるようになった~その後~ By Wutian
24604 21/02/16 10:54:11 RE(7):PB12.6: MySQLへのINSERTができるようになった~その後~ By JBI
24603 21/02/15 11:56:22 RE(6):PB12.6: MySQLへのINSERTができない By JBI
24602 21/02/15 09:50:10 RE(5):PB12.6: MySQLへのINSERTができない By Wutian
24601 21/02/09 13:20:47 RE(5):PB12.6: MySQLへのINSERTができない By ハチ公
24600 21/02/09 11:55:12 RE(4):PB12.6: MySQLへのINSERTができない By JBI
24599 21/02/09 10:51:10 RE(3):PB12.6: MySQLへのINSERTができない By ハチ公
24598 21/02/08 11:27:32 RE(2):PB12.6: MySQLへのINSERTができない By JBI
24597 21/02/08 10:58:42 RE:PB12.6: MySQLへのINSERTができない By Lucky Rabbit
24596 21/02/03 11:53:25 PB12.6: MySQLへのINSERTができない By JBI

カテゴリ:PowerBuilderの開発環境
日付:2021年02月09日 11:55 発信者:JBI
題名:RE(4):PB12.6: MySQLへのINSERTができない

ありがとうございます。

仰る通り、埋め込みSQLで困っています。
私はPowerBuilderはかなりの初心者で、前任者が今回のシステムを構築し、
MySQLへのマイグレーションする部分からの引継ぎのため、
データウインドウの作成等はまったくやり方がわかっていません。
ですので、ご教授頂いたデータウインドウは作成できていません。

前回の補足ですが、commit using sqlca;をexecute using sqlca;に変更すると
エラーは出ますが、INSERTされました。
しかし、変更したときの1回のみで、それ以降は何回やってもINSERTされません。
この現象もよくわからず、どうしていいか途方に暮れています。
何かヒントをお持ちでしたらご教授ください。
よろしくお願いいたします。


>おはようございます。
>埋め込みSQLで起きている問題を解決できないようですね。
>私も環境がないので検証できませんが、データウインドウを作成して、InsertRow,Updateできますでしょうか?
>もし、これができるとした場合、データウインドウのSqlprevewイベントの引数をMessageBoxで表示して、流れているSQLを確認することができます。


>>ありがとうございます。
>>ご教示頂いた通りにリテラルで囲んでみましたが、結果は変わりませんでした。
>>補足ですが、エラーメッセージがでる件は、
>>commit using sqlca;をusing sqlca;に変更すると
>>エラーは出なくなります。
>>しかし、結果は変わらずINSERTされません。
>>他に何か方法がありましたらご教授願います。
>>よろしくお願いいたします。
>>
>>
>>
>>>こんにちは
>>>MySQLの環境を持っていないのでわかりませんが、テーブル名とカラム名をリテラルで囲んでみてください。
>>>DBプロファイルにあります、「構文」「リテラルで囲む」をチェックONし、DBParmも確認してDB接続してください。
>>>DBごとに、大文字、小文字の扱いもあるようです。
>>>以上、よろしくお願いいたします。
>>>
>>>>お世話になります。
>>>>
>>>>同じプログラムを色々なデータベースで処理できるようなシステムを作っています。
>>>>これまではSQLServer、Oracleに接続、処理できるように作成しました。
>>>>
>>>>今回はその同じプログラムを使用して、MySQLをデータベースにしているのですが、
>>>>SELECTはできるのですが、その他のINSERT、UPDATE、DELETEがうまくできません。
>>>>
>>>>うまくいかないINSERT処理の抜粋を記載します。
>>>>
>>>>datetime wlog_time
>>>>wlog_time = datetime(today(),now())
>>>>※:set_は他で取得できています。
>>>>  INSERT INTO USYS_LOG (
>>>>   USER_ID,
>>>>   ACTION_MSG,
>>>>   PGM_ID,
>>>>   TABLE_ID,
>>>>   LOG_TIME,
>>>>   STATUS_MSG
>>>>   )
>>>>  VALUES (
>>>>   :set_user_id,
>>>>   :set_action_msg,
>>>>   null,
>>>>   null,
>>>>   :wlog_time,
>>>>   :set_status_msg
>>>>   )
>>>>   commit using sqlca;
>>>>
>>>>実行すると以下のエラーメッセージを取得しました。
>>>>SQLDBCode=1064
>>>>sqlstate=37000
>>>>[MySQL][ODBC 8.0(w) Driver][mysqld-8.0.23]
>>>>You have an error in your SQL syntax;
>>>>check the manual that corresponds to your MySQL server version for the right syntax to use near 'commit' at line 1
>>>>
>>>>しかし、同じプログラムでデータベースをSQLServerに変更するとちゃんとINSERT処理されます。
>>>>何がおかしいのか全くわからないので教えてください。
>>>>よろしくお願いいたします。

付加情報:

PowerBuilder Version 12.6

Client SoftWare

OS Windows10
DBMS その他
Browser Chrome

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.