質問編集履歴

1 エラー情報・ソースコードを追加

aruheno

aruheno score 38

2017/01/31 14:21  投稿

oracleの12と11の互換性について知りたいです
お世話になっております。
先日、C#でoralceのデータベースをアクセスする際に質問させていただきました。
(https://teratail.com/questions/63265)
その際にOracle.DataAccess.dllを使うことと、64bit、32bitを分けてプログラムを作成するべきだということを教えていただきました。
現在は全て32bitで作成し、ビルドするまでこぎつけることができました。
ですが、いざ動かそうとするとOracleCommandオブジェクトの宣言で例外エラーが出てしまい、正常に動作しません。
エラーの記述を探しましたが、滅多に出ないエラーなのか検索してもわかりませんでした。
使用する環境と作成した環境ののoracleのバージョンが違うと動かないのでしょうか?
もしそうでなければ解決方法をお答えください。
もしそうでなければ解決方法をお答えください。
・追記
エラー情報は以下の通りです
'System.TypeInitializationException' の初回例外が GetInfo.exe で発生しました。
ソースコードは以下の通りです
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.IO;
using Oracle.DataAccess.Client;
namespace GetInfo
{
  public class GetDataInfo
   {
       // 情報取得(引数:ID)       
       public string selectInfo(string strID)
       {
           string strSQL;
           string selectedLow;
           string connectionString = "Data Source=data_local;Persist Security Info=True;User ID=****;Password=****;Unicode=True";
           selectedLow = "";
           //接続先を定義(ここでエラーが出ています)
           using (OracleConnection con = new OracleConnection(connectionString))
           {
               try
               {
                   //DBを開く
                   con.ConnectionString = "Data Source=data_local;Persist Security Info=True;User ID=****;Password=****;Unicode=True";
                   con.Open();
                   //IDを元にSQL文を発行
                   strSQL = "SELECT * FROM EATBKJ WHERE ID = " + strID;
                   OracleCommand myCmd = new OracleCommand(strSQL, con);
                   OracleDataReader myReader = myCmd.ExecuteReader();
                   //情報を取得する
                   while (myReader.Read())
                   {
                       selectedLow = myReader.GetString(0);
                   }
               }
               //データ取得に失敗した場合
               catch (Exception)
               {
               }
               //成否にかかわらず
               finally
               {
                   //DBへの接続を切る
                   con.Close();
               }
           }
           //患者情報を返す
           return selectedLow;
       }       
   }
}
  • C#

    12224 questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Oracle

    882 questions

    Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

  • Visual Studio

    3269 questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る