※ ChatGPTを利用し、要約された質問です(原文:Executeされない理由が知りたいので)
Excel VBAのADODBコネクションでExecuteされない理由を知りたい
このQ&Aのポイント
Excel VBAのADODBコネクションでExecuteされない理由を知りたいです。処理が終わらずに【応答なし】になってしまいます。
ConnectionOpenは正常に処理され、ExePrcのcmd.Executeで止まってしまいます。先月までは正常に動いていたのですが、要因が分かりません。
prc_yotei_genka_meisaiの変更後にエラーが発生し、実行時エラー2147467259(`80004005)となります。要因を特定するために質問させてください。
Excel VBAのADODBコネクションについて。
Executeされない理由が知りたいのです。
お世話になっております。
引継が上手いいかず、原因が分からないExcelVBAがあり困っております。
【フォーム】ボタン3を押します。
Private Sub CommandButton3_Click()
If MsgBox("当月の予定原価を集計します", vbYesNo) = vbNo Then
Exit Sub
End If
DbLogic.ConnectionOpen
DbLogic.ExePrc
DbLogic.ConnectionClose
MsgBox "終了しました", vbOKOnly
End Sub
【標準モジュール】DbLogic
Sub ConnectionOpen()
'接続文字列作成
Dim con_str As String
con_str = "Driver={Oracle in OraHome92};DBQ=" & oracle_sid & _
";UID=" & oracle_user & _
";PWD=" & oracle_password
' 接続オブジェクトの作成
Set cn = CreateObject("ADODB.Connection")
' 接続
cn.Open con_str
cmd.ActiveConnection = cn
cmd.CommandTimeout = 0
End Sub
Function ExePrc()
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "prc_yotei_genka_meisai"
cmd.Execute ←処理が終わらない
cmd.CommandType = adCmdText
End Function
デバックをすると
cmd.Executeで処理が終わらずに【応答なし】になってしまいます。
調べるとココにはSQLを渡すと思ったのですが、違うようなのです。
ConnectionOpenは処理されて、
ExePrcのcmd.Executeで止まってしまいます。
prc_yotei_genka_meisaiを適当に変更したら、
実行時エラー2147467259(`80004005)
となりエラーで止まりますので、
prc_yotei_genka_meisaiここの何かに問題があるのかなとは
当たりを付けております。
先月までは普通に動いたとのことなのですが、
考えられる要因などご存知の方おられませんでしょうか。
よろしくお願い致します。
お礼
今まで動いていたことを考えると データベース内の何らかのデータが 邪魔をしてプロシージャの処理をとめていたのではないかと考えています。