2つのデータベースがあり、1つはOracle 11g、もう1つはSql Server 2012にあります。Oracleデータベースには、 BASE_ID。これは作業指示番号で構成されています。2つのテーブルのデータを比較します.1つはOracle、もう1つはSQL Serverです
Sql Serverデータベースには、WorkOrdersという名前の列が含まれているテーブルもあります。これには、作業指示番号も含まれています。私がする必要があるのは、Oracleの列にあるものとSQL Serverの列にあるものを比較し、OracleにあるもののSql Serverにはないものを表示することです。私は、出発点であっても、ここでちょっと困っています。私はちょうどポットショットを取るのです。
private void compare()
{
try
{
if (con.State != ConnectionState.Open)
con.Open();
DataTable t = new DataTable();
OracleCommand oraCmd = new OracleCommand("SELECT BASE_ID FROM WORK_ORDER x WHERE NOT EXISTS(SELECT NULL FROM [SQLServer].[BACRTest].[WorkOrders] y WHERE y.WorkOrder = x.BASE_ID)", oraconn);
OracleDataAdapter dt = new OracleDataAdapter(oraCmd);
dt.Fill(t);
dataGridView3.DataSource = t;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
}
これはちょうど私が実際にそれが動作するように期待していなかったので、十分に公平であるORA-00903: invalid table name
エラーがスローされます。この混乱は、私がこれまでにしたものです。
ご意見をいただければ幸いです。
なぜ両方のデータベースから日付をフェッチしてメモリ内で比較してみませんか? –
私はこれのようなものを考えました。データを変数にフェッチして比較します。私はそれについてどうやって行くかについてあまりにも確信していません。 – Splunk
OracleとSQL Serverデータベース間に接続があり、これによりOracleはSQL Serverテーブルを照会できますか?これについては、DBAと話し合う必要があります。 –