iT邦幫忙

0

已解決-asp.net C# 連接Oracle 9i使用TransactionScope

開發OS:win10
開發軟體:Visual Studio2015
資料庫:Oracle 9i
連線:OracleClient

            String StrNUM_BAR = context.Request["NUM_BAR"];
            result rlt = new result();
            rlt.message = "";

            using (TransactionScope scope = new TransactionScope())
            {
                try
                {
                    using (OracleConnection Conn = new OracleConnection(ErpConnStr))
                    {

                        Conn.Open();
                        OracleCommand Cmd = new OracleCommand();
                        Cmd.Connection = Conn;
                        Cmd.CommandType = CommandType.Text;

                        Cmd.CommandText = "UPDATE BUYD_BARCODE SET STS_BAR='90' ";
                        Cmd.CommandText += "WHERE (NUM_BAR ='" + StrNUM_BAR + "')";

                        if (Cmd.ExecuteNonQuery() > 0) rlt.message =         "success";
                        else rlt.message = "SQL指令執行錯誤";
                        Conn.Close();
                    }
                }
                catch (Exception e)
                {
                    rlt.message = e.Message;
                }
                scope.Complete();
            }
            
            DataContractJsonSerializer json = new DataContractJsonSerializer(rlt.GetType());
            json.WriteObject(context.Response.OutputStream, rlt);
        

執行後出現"無法載入 DLL 'oramts.dll': 找不到指定的模組。 (發生例外狀況於 HRESULT: 0x8007007E)"
在C:\Windows\System32及C:\Windows\SysWOW64放入oramts.dll和MSVCRTD.DLL
執行後出現"\0"
上述DLL移除
試著安裝ODAC92070.exe及ODTforVS2015仍出現無法載入 DLL 'oramts.dll': 找不到指定的模組。 (發生例外狀況於 HRESULT: 0x8007007E)
請問還有什麼方法可以解決這個錯誤

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-03-06 09:28:32

不妨試試看

hi  大家久等了,我弄了好久終於在剛剛弄出來了!!

  我找出它無法載入的那個地方,[DllImport("xxxxx.dll", EntryPoint="aaaaaa")]

  將xxxxx.dll 寫成絕對路徑,它居然就過了,理論上不寫,它也會去安裝程式的目錄找ㄚ,

  但就是這樣奇怪,感謝大家幫忙!!

資料來源:2012年的問答

我再來試看看 謝謝

最近實在一堆工作要忙,沒時間去實測,跟ERP同仁討論後,決定改用StoreProcedure,還是謝謝提供

我要發表回答

立即登入回答