問題タブ [database-link]
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.
database - データベースリンクを介してOracleストアドプロシージャを実行する方法
データベースリンクを介してOracleのストアドプロシージャを呼び出すことはできますか?
データベースリンクは機能しているため、次のような構文が使用されます。
機能しています。しかし、構文はありますか...
oracle - ネットワークの停止により、DB リンクを介したストアド プロシージャのクエリが永久にハングする
私がサポートする多くのストアド プロシージャは、WAN 経由でリモート データベースにクエリを実行します。ネットワークはときどきダウンしますが、これまでに起こった最悪の事態は、手順が失敗し、再起動する必要があったことです。
ここ数週間、不吉な方向に進んでいます。手順が失敗する代わりに、奇妙なロック状態でハングします。これらは Oracle 内で強制終了することはできず、それらが存在する限り、プロシージャの他のコピーを実行しようとするとハングします。私たちが見つけた唯一の解決策は、OS からの「kill -9」で問題のあるプロシージャを強制終了することです。これらの手順の一部は、数か月、さらには数年も変更されていないため、DB または DB 構成に根本的な原因があると思われます。
問題を解決するために私たちができることについて何か考えがある人はいますか? または、PL/SQL には、プログラムで処理できる例外を作成できるように、コードに追加できるタイムアウト メカニズムがありますか?
php - 複数の PHP ページにまたがる MySQL データベース リンクの転送
複数の PHP ページ間でリソース リンクを転送および/または共有するための秘訣はありますか? 同じデータベース内の同じユーザーへの別のリンクを取得するためだけに、サーバーがデータベースに接続し続けることは望ましくありません。
mysql_connect() から返されたリンクは、元のスクリプトの実行が完了すると自動的に閉じられることに注意してください。代わりに、各セッションの最後に手動で閉じる方法はありますか?
sql - Oracle を使用して、別のスキーマ内のテーブル内の列の存在を安価に検証するにはどうすればよいでしょうか?
環境は Oracle 9 & 10 です。DBA レベルのアクセス権はありません。
問題は、特定の列が別のスキーマの特定のテーブルに存在することを確認することです。
対処するケースは 2 つあります。
- 同じインスタンス内の別のスキーマ
- db_link を使用した別のインスタンスのスキーマ
私のスキーマFREDと別のスキーマBARNEYを考えて、私はこのようなことを試みました
[1]: (エラー): ORA- 00942 : テーブルまたはビューが存在しません
これについてしばらく悩んだ後、USER_TAB_COLS は実際にはテーブルではないことに気付きました。ビューです。私はずっとテーブルから選択してきましたが、ビューからは選択していません。
db_link で同じことを試してみたところ、データが戻ってくるのを見て驚きました。db_link には schema_name/password が埋め込まれているため、他のスキーマに効果的にログインし、ビューに到達できるようになるため、機能したことは理にかなっているように思えます。
グーグルで検索し、オラクルのドキュメントの山で眼球をすり減らしたので、正しい方向に向けてくれる人、または少なくとも何が欠けているかを指摘してくれる人を探しています。
特定の列が存在することを検証するために、同じインスタンス内のスキーマからユーザー テーブル関連のメタデータを取得するために使用できる手法は何ですか?
前もって感謝します。
悪の。
良い答えには+1。ありがとうございました。
sql - コンテキストを変更 (偽装) し、SQL Server 2005 でサーバー リンクを使用する際の問題
SQL Server 2005 で偽装とデータベース リンクを組み合わせると、奇妙な動作が発生します。最初に、単純な SQL Server 認証を使用して Login 'John'でデータベース サーバーに接続します。このサーバーでは、サーバー リンクremote_sqlserverが定義されています。このサーバーのmydbに対する SELECT 権限を既に持っています。このサーバー リンクで DB のテーブルを単純にクエリすると、次のようになります。
その後、同じログインで偽装を試みます (なぜそうするのかは聞かないでください。実験しているだけです ;) )
元に戻すと、再び機能します。
同じログインで偽装なしでテーブルをクエリできるのに、偽装でエラーが発生する理由はわかりますか?
ところで:「自己偽装」の後、ローカルデータベースにクエリを実行しても(もちろん、十分な権限があります)、エラーは発生しません。サーバーリンクを介してリモートDBにクエリを実行した場合にのみ発生します。
database - このデータベースレイアウトを設計するにはどうすればよいですか?
私は、ユーザーがさまざまな都市で投稿したり商品を販売したりできるCraigslistに似たサイトで作業しています。私のサイトとCraigslistの違いの1つは、ページにすべての都市をリストする代わりに、郵便番号で検索できることです。
私はすでに、各都市のすべての都市、州、緯度、経度、および郵便番号情報を含む郵便番号データベースを持っています。さて、私が何をする必要があるのか、そして私が助けを必要としているのかを掘り下げるために:
私は郵便番号データベースを持っていますが、それは私の使用のために完全にセットアップされていません。(インターネットからhttp://zips.sourceforge.net/から無料でダウンロードしました)
データベース構造の設定についてサポートが必要です(たとえば、使用するテーブルの数やそれらをリンクする方法など)。
PHPとMySQLを使用します。
これらは、データベースのセットアップ方法に関するこれまでの私の考えです:(これが機能するかどうかはわかりませんが)。
シナリオ
誰かがホームページにアクセスすると、「郵便番号を入力してください」と表示されます。たとえば、「17241」と入力した場合、この郵便番号はペンシルベニア州にあるニュービルという名前の都市のものです。現在のデータベース設定では、クエリは次のようになります。
クエリの結果は「Newville」になります。私が今ここで見ている問題は、彼らがサイトのニュービルセクションに何かを投稿したいときです。ニュービル市の投稿のためだけにテーブル全体を設定する必要があります。42,000を超える都市があります。つまり、42,000を超えるテーブル(各都市に1つ)が必要になるため、そのようにするのは非常識です。
私が考えていた方法の1つは、郵便番号データベースに「city_id」という列を追加することでした。これは、各都市に割り当てられた一意の番号になります。たとえば、ニュービル市のcity_idは83になります。したがって、誰かがニュービル市にリストを投稿した場合、もう1つのテーブルのみが必要になります。もう1つのテーブルは、次のように設定されます。
(for_saleおよびjob_列名は、ユーザーがリストできる投稿のタイプのカテゴリーです。これら2つだけではなく、さらに多くのカテゴリーがありますが、これは単なる例です。)
したがって、誰かがWebサイトにアクセスして、販売ではなく購入するものを探している場合、たとえば、郵便番号17241を入力できます。これは、実行されるクエリです。
(私はPHPを使用して、ユーザーがSESSIONSとCookieに入力した郵便番号を保存し、サイト全体でそれらを記憶します)
これで、「カテゴリを選択してください」と表示されます。カテゴリ「販売アイテム」を選択した場合、これは結果を実行およびソートするためのクエリです。
だから今私の質問は、これはうまくいくでしょうか?きっとそうなると思いますが、これを設定したくなくて、何かを見落としていて、最初からやり直さなければならないことに気づきました。
oracle - リモートとローカルが同じサーバーであるデータベース リンクを作成する方法
同じサーバー上のスキーマへのリンクであるデータベース リンクを作成する必要があります。これに使用する特別なキーワードはありますか? ( local または localhost など)
サーバーの名前が tnsnames にあることは完全にはわかりませんが、それが問題の一部である可能性があります。
これは、続行するためにデータベース リンクが必要なスクリプトを含む複雑な状況のためのものです。
sql - Oracle EXISTS クエリが期待どおりに動作しない - DB リンクのバグ?
私はこのクエリの結果に完全に困惑しています:
戻り値: 1
company_users@colink.world には stat='2473' のレコードが 0 件あるのに、exist に対して true を返すのはなぜですか?
このようにクエリを変更すると、0 が返されます。
更新さて、これは本当に奇妙です。何が起こるかを確認するために、他のデータベース (DB リンクによって参照されるもの) からクエリを実行したところ、異なる (正しい) 結果が得られました。
0 を返します (予想どおり)。
sql - Oracleでデータベースリンクをチェーンできますか?
私は3つのデータベースを持っています。1は2にリンクし、2は3にリンクします。1から3のテーブルをクエリしたいのですが、third_db_tab @ 3 @ 2を試しましたが、機能しませんでした。これが可能かどうか、可能であれば構文は何か疑問に思います。
database - データベース リンク - Oracle 10g および Ms Access 2007
Oracle 10g と ms access 2007 の間にリンクを作成しようとしていますが、tnsnames.ora ファイルでパラメーターを設定して MS Access データベースにアクセスする方法がわかりません。Microsoft Access Driver を使用して ODBC データ ソース アドミニストレーターで新しいデータ ソースを作成し、アクセス データベース (.mdb) を選択しました。
MS Access では、テーブル間をリンクでき、Oracle db からのデータが表示されますが、Toad または SqlDeveloper からデータベース リンクを作成する必要があるため、Oracle db で何らかのトリガーを使用して MS Access db のデータを変更できます。データベース リンクをテストしようとすると、次のエラーが表示されます: エラー: ORA-12154: TNS: 指定された接続識別子を解決できませんでした。MS Access データベースはハード ドライブにあります。これが私の tnsnames.ora の様子です:
しかし、PORTとSIDについてはわかりません。
何か助けはありますか?