問題タブ [dblink]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - dblinkを介したクエリのネストされたループ(Oracle 11g)
次の形式のSQLクエリがあります
ここで、最初の2つのテーブルは1つのデータベースへのdblinkであり、最後のテーブルは2番目のデータベースにあります。ローカルテーブルにはアクセスしません。
Explain Planは、すべてのテーブルが大きく、この状況でハッシュ結合を期待しているにもかかわらず、ネストされたループを示しています。(すべてのテーブルがローカルの場合、ハッシュ結合を期待します。)
「説明プラン」は次のようになります。
さらに、統計の更新は効果がないようでした。
誰かがdblinksを介した結合が分割されてリモートDBに渡される方法に影響を与える要因を説明できますか?このプロセスでどのような統計が役割を果たしますか?
また、「ネストされたループ」は本当の問題でさえありますか、それともまったく別のものですか?
おそらく本当の問題は、リモートで参加/フィルタリングするのではなく、AとBのすべてのコンテンツをローカルでプルして参加することです。(おそらくDRIVING_SITE
ヒントがそれを修正するでしょうか?)
ありがとう。
database - DB リンクのテスト - ORA-12154: TNS: 指定された接続識別子を解決できませんでした
この質問が何度も聞かれることは知っていますが、この情報を自分の状況に適用する方法がよくわかりません.
DB LINKに接続しようとしている2つのデータベースがあります。これらは:
- BBEGMTD1
- OPEGMTP1.WORLD
DB リンクは、誰かによって PE_DBLINK.WORLD という名前で既に定義されています。
私のマシンからこれらのデータベースの両方にアクセスできるので、tnsnames.ora がどのように影響を受けるかわかりません。
ただし、DB LINK をテストすると、次のように有名になります。
リンク: "PE_DBLINK.WORLD" エラー: ORA-12154: TNS: 指定された接続識別子を解決できませんでした
BBEGMTD1 サーバーで tnsnames.ora を変更する必要がありますか?
@Chance コメントに従って、以下をselect * from ALL_DB_LINKS
返します。
これは、詳細が表示されていることを示す TOAD の TNSNames エディターです。
oracle - DG4MSQL を使用して作成された db リンクを介して SQL Server システム テーブルをクエリできません
DG4MSQL ゲートウェイを使用して、Oracle 11g から SQL Server 2005 への db リンクを作成しようとしています。
データベース リンクを作成した後、JDBC ドライバーを使用して SQL Server システム ビュー (sys.services または sys.objects) を照会することはできませんが、JDBC ドライバーを使用してすべてのユーザー テーブルを照会することはできます。
sqlplus を使用すると、システム テーブルを含むすべてのテーブルをクエリできます。私のプロジェクトは Java プロジェクトなので、JDBC ドライバーを使用する必要があります。
もう 1 つ観察したことは、DG4MSQL ゲートウェイの代わりに DG4ODBC を使用すると、JDBC ドライバーを使用してシステム テーブルを含むすべての SQL Server テーブルをクエリできることです。
DG4MSQL と JDBC ドライバーを使用して SQL Server システム テーブルをクエリする方法があれば教えてください。
postgresql - 呼び出し元のストアド プロシージャから dblink によって生成されたレコードをプッシュする
dblink()
呼び出し関数の結果として、upによって生成された結果のレコードを単純に渡すことは可能ですか?
この関数は、dblink
実際には次のように呼び出すことができます。
しかし、いくつか必要MAGIC
です。:(
を使えばplProxy
簡単にできますが、dblink
でできるのであれば でどうするかが問題ですplpgsql
。
sql-server - odbc を回避する SQL Server から Postgresql (Postgis) への DBLINK
クライアントから要求された dblink に関して問題があります。
- Postgres + postgis
- SQL Server 2008
(2) には dblink 経由で (1) に接続する dblink が必要ですが、問題は GIS 部分をサポートしない odbc にあります。
この dblink を作成する他の方法はありますか?
皆さん、ありがとうございました
postgresql - dblinkを使用してPostgreSQLのデータベース間でトランザクションを同期する
アプリケーションコードを変更せずに、2つのデータベース間で一連のテーブルを透過的に同期したいと思います。私の考えは、ソースデータベーステーブルに挿入、更新、削除のトリガーを作成し、dblinkを使用してdestにデータを複製することです。データベーステーブルをシームレスに。
問題は、ソーステーブルの変更が常にトランザクション内で行われることです。トリガーは、宛先の変更を自動的に複製します。テーブルですが、ソーストランザクションがdestにロールバックされた場合。テーブルの変更はありません。
2つのデータベース間でトランザクションの開始とコミット/ロールバックを自動的に同期する方法はありますか?トリガーのような動作が理想的です。
oracle - INSERT ALL INTO dblink を介してテーブルに..それは可能ですか?
以下を実行すると:
エラーが発生する
SQLエラー: ORA-02021: リモート・データベース02021ではDDL操作は許可されていません。 00000 - 「リモート・データベースではDDL操作は許可されていません」 *原因: リモート・データベースでDDL操作を使用しようとしました。たとえば、「CREATE TABLE tablename@remotedbname ...」です。*アクション: リモート データベース構造を変更するには、適切な権限でリモート データベースに接続する必要があります。
通常の(すべてを挿入するのではなく)実行すると、挿入はデータベースリンクを介して機能することに注意してください。(助成金は有効です)。
どちらのテーブルにもトリガーはありません。
また、複数のテーブルに挿入できるようにするために、明示的に INSERT ALL INTO が必要です。
データベース リンク テーブルへの INSERT ALL INTO 操作は許可されていませんか?
sql-server - SQL Server から postgresql への DBLink: シーケンス nextval を取得
POSTGRESQL 9.0 サーバーに接続する必要がある SQL Server 2008 を持っています。
私が必要とするタスクの 1 つは、POSTGRESQL を介してシーケンスの次の値を取得することです。
例 1 :
エラー:
メッセージ 7215、レベル 17、状態 1、行 1 リモート サーバー 'POSTGRESQL' でステートメントを実行できませんでした。*
例 2 :
エラー:
メッセージ 7399、レベル 16、状態 1、行 1 リンク サーバー "POSTGRESQL" の OLE DB プロバイダー "MSDASQL" がエラーを報告しました。プロバイダーは、予期しない壊滅的な障害を報告しました。メッセージ 7350、レベル 16、状態 2、行 1 リンク サーバー "POSTGRESQL" の OLE DB プロバイダー "MSDASQL" から列情報を取得できません。*
これらのオプションはどれも機能しません!
良い代替手段はありますか?
前もって感謝します
oracle - Linux RedHat64ビット上のOracle10gR2からLinuxRedHat64ビット上のPostgresql8.3へのdblinkをセットアップする方法は?
Oracleからこのクエリを試してみます:
これが私が得るエラーメッセージです:
これがtnsnames.oraです
これがlistener.oraです
リスナーを起動した後、ここに出力があることに注意してください
ここでinitPostgres.ora
/oracle/product/10.2.0/hs/log/record.trc
空です。
私は何が欠けていますか?
Oracle 10gR2
LinuxRedHat64ビット
Postgresql8.3LinuxRedHat64
ビット
編集: ODBCドライバーが稼働していることを手動で確認しようとすると、次のようになります。