C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

MySQL INSERTできない

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■97580 / inTopicNo.1)  MySQL INSERTできない
  
□投稿者/ DB学習中 (1回)-(2021/06/08(Tue) 10:27:54)

分類:[ASP.NET (VB)] 

2021/06/08(Tue) 10:43:36 編集(投稿者)
ASP.NET、MySQLを使用しています。

ローカルでデバックを動かしたときはDBにINSERTできるのに、サーバーにアップロードしてWEBからURLをたたいて
動かすと上手くDBにINSERTできません。

ログを入れていて中身を確認しているのですが、エラーは何も起きていません。
対処法が分からず困っています。

何が原因なのでしょうか?
パラメーターでデータ1〜データ6まで取得しています。
keyはありません。

                '*** DB接続
                Gnl_objConnection = New MySqlConnection
                Gnl_objConnection.ConnectionString = ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString

                Try
                    Call Gnl_objConnection.Open()
                Catch ex As Exception
                    'エラーログ出力
                    log.Error(ex)
                End Try

                'データ6情報分ループ
                For i = 0 To 9
                    If データ6(i) <> "" Then
                        objCommand = Gnl_objConnection.CreateCommand
                        sql_buf = "Insert into DAT_DATA (LOG_DATE, COMPANY_ID, OPERATIONAREA, BUSNO, DEVICESCONDITON, UIDINFONO) VALUES ("
                        sql_buf &= データ1 & ", "              
                        sql_buf &= """" & データ2 & """, "       
                        sql_buf &= """" & データ3 & """, "       
                        sql_buf &= """" & データ4 & """, "       
                        sql_buf &= """" & データ5 & """, "       
                        sql_buf &= """" & データ6(i) & """)"        
                        objCommand.CommandText = sql_buf

                        Try
                            Call objCommand.ExecuteNonQuery()
                        Catch ex As Exception
                            'エラーログ出力
                            log.Error(ex)
                        End Try
                    End If
                Next

                '*** DB切断
                Try
                    Call Gnl_objConnection.Close()
                    Call Gnl_objConnection.Dispose()
                Catch ex As Exception
                    'エラーログ出力
                    log.Error(ex)
                End Try

引用返信 編集キー/
■97581 / inTopicNo.2)  Re[1]: MySQL INSERTできない
□投稿者/ furu (116回)-(2021/06/08(Tue) 10:46:07)
No97580 (DB学習中 さん) に返信
> ローカルでデバックを動かしたときはDBにINSERTできるのに、サーバーにアップロードしてWEBからURLをたたいて
> 動かすと上手くDBにINSERTできません。
Call objCommand.ExecuteNonQuery()のところ
実際に通っているのはログで確認できているんだよね。

オートコミットが無効になっているとか
引用返信 編集キー/
■97582 / inTopicNo.3)  Re[1]: MySQL INSERTできない
□投稿者/ 魔界の仮面弁士 (3123回)-(2021/06/08(Tue) 10:51:48)
No97580 (DB学習中 さん) に返信
> ローカルでデバックを動かしたときはDBにINSERTできるのに
説明のためにあえて省いているのだとは思いますが、
MySqlTransaction が使われていない点であるとか、
MySqlCommand のパラメーターを用いずにアドホックなクエリを
インジェクション対策無しで組み入れているように見えるのが
気になりますが、それはさておき…。


> ログを入れていて中身を確認しているのですが、エラーは何も起きていません。
ConfigurationManager.ConnectionStrings("DBConnectionString").ConnectionString
の内容も確認していますか?


> 対処法が分からず困っています。
サーバー側の general.log 等は確認されていますか?
https://qiita.com/toshihirock/items/a97d174be68f485fbbf2
引用返信 編集キー/
■97583 / inTopicNo.4)  Re[1]: MySQL INSERTできない
□投稿者/ WebSurfer (2257回)-(2021/06/08(Tue) 11:15:37)
No97580 (DB学習中 さん) に返信
> 2021/06/08(Tue) 10:43:36 編集(投稿者)
>
> ASP.NET、MySQLを使用しています。
>
> ローカルでデバックを動かしたときはDBにINSERTできるのに、サーバーにアップロードしてWEBからURLをたたいて
> 動かすと上手くDBにINSERTできません。

開発環境で Visual Studio から IIS Express で動かすと問題なくて、デプロイして IIS で動かすと
ダメと言う問題の原因のほとんどは、ワーカープロセスのアクセス権の違い(前者は管理者権限、後
者は何の権限もないというのがティピカル)ですが、そのあたりは分かってますか?

MySQL ということですので、Windows 認証ではなく、id とパスワードで認証を受けているならアクセ
ス権の問題とは違うかもしれませんが。
引用返信 編集キー/
■97584 / inTopicNo.5)  Re[1]: MySQL INSERTできない
□投稿者/ WebSurfer (2258回)-(2021/06/08(Tue) 11:51:22)
No97580 (DB学習中 さん) に返信

もう一つ、質問者さんの問題の原因とは違うと思いますが、IIS で動かした場合はデフォルトでは
ワーカープロセスがユーザー対話モードで実行されていないという違いもあります。

なので、ユーザーが対話するためのユーザーインターフェイス(MessageBox など)は使えません。

ワーカープロセスのアクセス権と共に、これもよくある原因です。
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ