問題タブ [openquery]
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.
sql-server - openquery の順序のヒント?
スケジュールされたジョブで定期的に次の SQL ( SQL Server 2008 ) を実行する必要があります。クエリ プランは、データが Oracle サーバーからプルされた後、53% のコストがソートされることを示しています。ただし、openquery でデータを注文しました。マージ結合時にクエリを強制的にソートしないようにする方法は?
bulk insert
の「 」のようなものはありwith (order( { column [ ASC | DESC ] } [ ,...n ] ))
ますか?merge
存在する場合、ステートメントのクエリプランを改善するのに役立ちますか?
Oracle テーブルの K1、K2 にすでに PK がある場合、oracle.db.owner.tablename
ターゲットとして使用するだけでよいでしょうか? (SQL Server は Oracle のメタ情報からインデックスを割り出しますか?)
または、Oracle データをローカルの一時テーブルに格納し、K1、k2 にクラスター化された主キーを作成するのが最善でしょうか? 返される openquery データ セットが大きくなる場合があるため、一時テーブルを作成しないようにしています。
sql-server - WHERE 句の大文字と小文字を区別しないようにする方法: SQL Server クエリの Oracle リンク サーバーから
リンク サーバー接続を介してOracleデータベースに接続するMS SQL Server 2005インストールがあります。
OPENQUERY()
一連のコマンドを使用して、多くの SELECT ステートメントが実行されています。これらのステートメントの大部分の WHERE 句は、VARCHAR
列に対して使用されます。
WHERE 句で大文字と小文字が区別されると、パフォーマンスに大きな影響を与える可能性があると聞いたことがあります。
私の質問は、最大のパフォーマンスを得るために、非バイナリ文字列の WHERE 句が大文字と小文字を区別しない方法で実行されていることを確認するにはどうすればよいですか?
java - 休止状態でクエリを開く
問題でストラットと休止状態を使用しています。次のクエリを試しました
コンソールに表示されるクエリは次のとおりです。
79 番目の列でクエリ構文の例外が発生します。これは (CALLINGHOST,...
しかし、SQLでクエリを実行すると、実行されます。クエリは次のとおりです
問題を説明し、Java から実行するための解決策を教えてください。前もって感謝します。
java - 休止状態の例外でクエリを開く
私は開発のためにstruts2
andを使用しhibernate
ています。
開いているクエリを実行するために使用したJavaコードは次のとおりです
以下は、コンソールに出力されたクエリです。SQL エディターで次のクエリを実行すると、正常に挿入されますが、Java からではありません。次のエラー メッセージが表示されます。
SQL クエリ:
以下はスタック トレースです。
BLRSAL132772D は私のサーバーです。
sql-server-2008 - Openquery SQLが存在するかどうかを確認する方法は?
SQLOPENQUERY
を使用して、パラメーターを渡すレコードが存在するかどうかを確認しています。そうでない場合は、新しいレコードを挿入します。
これが私がこれまでに持っているものです
tsql - リンク サーバー - LDAP - メッセージ 7321
以下は、リンク サーバーを使用して LDAP に対して実行しようとしている簡略化されたクエリです。
select * from openquery(ADSI,'')
LDAP サーバーで「ドメインコントローラー: LDAP サーバーの署名要件」セキュリティ設定を「署名が必要」に変更した場合を除いて、クエリは正常に実行されます。これを行うと、次のエラーが表示されます。
メッセージ 7321、レベル 16、状態 2、行 1
リンク サーバー "ADSI" の OLE DB プロバイダ "ADSDSOObject" に対して実行するクエリ "" の準備中にエラーが発生しました。
リンク サーバー ADSI は、ドメイン アカウントを使用して作成されます。また、できれば OPENROWSET を使用しないことをお勧めします。
mysql - UPDATE OPENQUERY の失敗
SQL Server から MySql データベースに対して実行しようとしている次の OPENQUERY ステートメントでエラーが発生します。
エラーは「キー列情報が不十分であるか正しくありません。更新の影響を受けた行が多すぎます」です。
このステートメントは、「合計」フィールドを値「1」に更新する必要があります。これは整数フィールドで、「id」はテーブルの主キーです。SQL Server 2000 を使用しています。
sql-server-2008 - openquery SQLでreplaceを使用するには?
OpenQueryを使用して、リンクサーバーから特殊文字を含む列から特殊文字を削除する必要があります。
ここに例がありますが、機能していません
sql-server-2005 - SQL Server 2005 で OPENQUERY を使用したストアド プロシージャの 'total_worker_time' が高い
[データベース管理者サイトからの相互投稿で、ここでより良い牽引力が得られることを期待しています。いずれかのサイトを適宜更新します。]
SQL Server 2005 (SP2) に、次のような単一のクエリを含むストアド プロシージャがあります (わかりやすくするために簡略化しています)。
この proc が実行されると (そして 1 回だけ実行されると)、プランが sys.dm_exec_query_stats に表示され、「total_worker_time」の値が高くなります (例: 34762.196 ミリ秒)。これは経過時間に近いです。ただし、SQL Management Studio の統計では、予想どおり (6828 ミリ秒など) はるかに低い CPU 時間が示されています。通信相手のサーバーが遅いため、クエリが返されるまでに時間がかかりますが、多くの行は返されません。
私は、SQL Server 2005 の並列クエリが奇数の CPU 時間を示す可能性があるという問題を認識しています。そのため、クエリ ヒントを使用して並列処理をオフにしようとしました (ただし、実際には何もなかったとは思いません)。場合)。
CPU 使用率の 2 つの見方が異なる可能性があるという事実を説明する方法がわかりません。また、どちらが正確であるかもわかりません (CPU 使用率の方が高い数値である可能性があると考える理由は他にもありますが、測りにくい)。誰か私にステアをくれませんか?
UPDATE : 問題は OPENQUERY にあると想定していたので、OPENQUERY を使用しない長時間実行されるクエリを探してみました。この場合、統計 (STATISTICS TIME ON を設定して取得) は CPU 時間を 3315 ミリ秒と報告しましたが、DMV は 0.511 ミリ秒と報告しました。それぞれの場合の合計経過時間は一致しました。
mysql - MSSQLサーバーからMySqlを更新します
SQLサーバーからMySqlテーブルを更新するクエリを作成するのに助けが必要です。リンクサーバーを作成し、選択したクエリは正常に機能しますが、更新中にエラーが発生します。私はそのようなタイプのクエリを書くのは本当に初めてなので、エラーメッセージとその意味を理解するのを手伝ってください。
私の更新クエリ:
エラー:
リンクサーバー"stagedb_za"のOLEDBプロバイダー"MSDASQL"は、「更新する行が見つかりません。最後に読み取られてから一部の値が変更されている可能性があります。」というメッセージを返しました。メッセージ7343、レベル16、状態4、行1リンクサーバーのOLEDBプロバイダー"MSDASQL"は、テーブル"[MSDASQL]"を更新できませんでした。行セットは楽観的同時実行性を使用しており、列の値は、含まれている行が最後にフェッチまたは再同期された後に変更されました。