sql >> データベース >  >> RDS >> Oracle

シェルスクリプトで一度に2つのOracleDBに対して1つのSQLクエリを実行し、データを別々のcsvファイルにエクスポートする必要があります

    特定のsqlplusセッションは、一度に1つのdbにしか接続できないため、「同時に」の要件は基本的に非スターターです。 「同時に」が実際に「連続して」を意味する場合、同じスクリプトで、接続文字列の修正に戻ります。そして、その時点で、「初期のメッツのゲームよりも多くのエラーが発生します」(NYメッツのファンにはお詫びします)。

    まず、スクリプトは、sqlplusコマンドがシェルプロセッサの指定と「set-x」に続く最初の実際のコマンドであることを示しています。それでも、ユーザー名、パスワード、接続名の代わりに環境変数を多用します。これらの変数を設定する必要はありません。

    次に、コマンドラインで「&」を使用すると、私とパーサーの両方が完全に混乱します。

    第3に、SQLスクリプトへの参照の前に「@」を付ける必要があります。

    第4に、コマンドラインでの要素の順序がすべて間違っています。

    これを試してください

    #!/bin/bash
    orauser1=<supply user name here>
    orapw2=<supply password here>
    oradb_1=<supply connection name of first database>
    #
    orauser1=<supply user name here>
    orapw2=<supply password here>
    oradb_1=<supply connection name of first database>
    #
    Targetdirectory=<supply value here>
    #
    sqlplus -S ${orauser1}/${orapw1}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile1.csv
    
    sqlplus -S ${orauser2}/${orapw2}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile2.csv
    


    1. WHERE値がGROUPBYを持つINサブクエリであるため、競合状態の問題がないことを更新する方法はありますか?

    2. mysqlパフォーマンスのPDO

    3. mysql.sockはOSXで作成されていません

    4. Codeigniter AND OR AND