問題タブ [openrowset]
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.
javascript - OPENROWSET を使用して SQL Server 経由で Oracle DB にアクセスする
クライアント側の Javascript で OPENROWSET を使用して SQL Server 経由で大規模な Oracle データベースにアクセスしようとしていますが、うまくいきません。詳細は次のとおりです。
- OPENROWSET を使用して Oracle データベースにアクセスする SQL Server ビューは完全に機能するため、有効な接続文字列パラメーターがあることがわかります。ただし、新しい要件は、クライアント側の選択に依存する非常に動的な Oracle クエリに対するものであり、動的 (またはパラメーター化された) Oracle クエリを SQL Server ビューまたはストアド プロシージャから動作させることはできませんでした。
- SQL Server データベースへのクライアント側アクセスは、動的およびパラメーター化されたクエリで完全に機能します。
- クライアントが Oracle クライアント ソフトウェアを持っているとは思えません。したがって、Oracle データベースへのアクセスは、ビュー、ストアド プロシージャ、または OPENROWSET を使用した動的クエリを使用して、SQL Server データベース経由で行う必要があります。
- SQL Server データベースは共有サーバー上にあるため、グローバルにリンクされたデータベースを使用することはできません。
私の考えは、独自のバージョンのパラメーター化された Oracle クエリを取得し、パラメーターを置換して、クエリを OPENROWSET でラップし、それを SQL Server で実行して、結果のレコードセットを返す関数を定義することでした。サンプルコードは次のとおりです。
私が得ているSQLエラーは、私にはAd hoc access to OLE DB provider 'MSDAORA' has been denied. You must access this provider through a linked server.
意味がありません。このエラーに関する Microsoft の説明は、レジストリ設定に関連しています ( DisallowAdhocAccess
)。これは私の PC では正しく設定されていますが、これはクライアント PC ではなく DB サーバーに関連していることは確かです。上記のビューが機能するため、設定が正しいと期待できます。
私が試した 1 つの代替手段は、Open ステートメントで囲んでいる EXEC を削除することです。
しかし、これは同じエラーを生成します。
また、OPENROWSET をストアド プロシージャに入れてみました。これは、SQL Server Management Studio 内から実行すると完全に機能しますが、ストアド プロシージャが Javascript から呼び出されると同じエラー メッセージで失敗します。
私がやろうとしていることは可能ですか?もしそうなら、私のコードを修正する方法をお勧めできますか? それとも、まったく異なるアプローチが必要ですか?
ヒントや関連情報は大歓迎です。前もって感謝します。
openrowset - SQL クエリで XMLA ステートメントを実行していますか?
分析 DB に新しいロールを作成しようとしています。
私は複数の組み合わせをテストしました:
Openrowset => で単純な MDX クエリを実行すると動作します。
実行すると動作します。
openrowset=> ERROR を使用して SQl リレーショナル DB から新しい SSAS ロールを作成しようとすると。
ここに私が試しているコードがあります
私が受け取るエラーは次のとおりです。
助けてください:)
よろしく、エリー
sql-server - openrowset を使用して Excel ファイルを一時テーブルに読み込みます。そのテーブルを参照するにはどうすればよいですか?
Excelファイルを一時テーブルに読み込み、そのテーブルのデータの一部をマッサージし、そのテーブルから選択した行を永続テーブルに挿入するストアドプロシージャを作成しようとしています.
したがって、次のように始まります。
それくらい効きそうです。
ただし、次のようなことを試してみると:
エラーが発生します:
無効なオブジェクト名 '#mytemptable'
#mytemptable が認識されないのはなぜですか? 残りのストアド プロシージャから #mytemptable にアクセスできるようにする方法はありますか?
よろしくお願いします!
sql - OPENROWSETを使用したSQLServerのExcelへのエクスポート
私は次のステートメントでExcelに正常にエクスポートしています:
テンプレートが書き込まれないように、Excelシートの新しい名前を指定してこのテンプレートを使用する標準的な方法はありますか、それとも回避策を考え出す必要がありますか?
人々の経験でこれを行うための最良の方法は何ですか?
tsql - TSQLのOpenRowSetコマンドがNULLを返しています
しばらく調査を続けており、レンガの壁にぶつかり続けています。OpenRowsetコマンドを使用してxlsファイルから一時テーブルにインポートしています。特定の列に範囲値があるものをインポートしようとしているときに問題が発生しましたが、最も一般的なのは次のとおりです。長い数値、つまり15598として構造化された列と、文字列として構造化された一部の列、つまり15598-E。
これで、openrowsetは文字列バージョンを問題なく読み取っていますが、数値バージョンをNULLとして報告しています。openrowsetにその問題があり、作成者がクエリ文字列に「HDR = YES; IMEX = 1」を実装することについて話していることを読んだ(http://www.sqldts.com/254.aspx )が、それはまったく機能していません。
皆さん、これに遭遇したことはありますか?
さらにいくつかの情報も。JETエンジン(Microsoft.Jet.OLEDB.4.0)ではこれを実行できない可能性があるため、クエリは次のようになります。
sql-server-2005 - リンクサーバー"(null)"のOLEDBプロバイダー"MSDASQL"のデータソースオブジェクトを初期化できません
興味深い問題があります。Sql2005のOpenRowsetを介してサーバー上のExcelファイルから読み取っています。クエリを何回も問題なく実行しました。簡単な会議に出かけたところ、突然「リンクサーバー「(null)」のOLEDBプロバイダー「MSDASQL」のデータソースオブジェクトを初期化できません」というエラーが表示されます。
サーバーでファイルが使用されていないことを確認し、ファイルを削除してサーバーに再コピーしましたが、それでも同じエラーが発生します。
更新:これは、異なるopenrowsetからの2つの選択に参加した場合にのみ発生するようです。クエリを個別に実行しても、正常に機能します。私は以前に問題なく参加しました。アイデア?
sql - 別の列の値を指定しながら、INSERT ステートメントで OPENROWSET を使用しますか?
OPENROWSET(BULK ...) を使用して、ファイルの内容をテーブルに挿入しています。問題は、同じ INSERT ステートメントで別の列の値も指定する必要があることです。
私はこのようなものを持っています:
ここで別の列の値も指定する方法があると確信していますが、その方法はわかりません。
sql-server - SQLインポートでのExcelのインポートは「NULL」行をインポートします
異なる形式のワークブックをデータベース テーブルにインポートし、作業を行ってからテーブルを削除するストアド プロシージャがあります。
これが入力クエリです。
一部のスプレッドシートでは、下部に null 行が作成されるようです。
null 行をインポートして無視するにはどうすればよいですか?
sql-server-2005 - OLE DB プロバイダ「MSDASQL」が登録されていません
.csv ファイルからデータを抽出したいと思います。次のように表示されているため、64 ビット マシンでは OpenRowSet を使用できません。
また、32 ビットのものと同じように、SQL Server 2005 SSMS のLinked Servers -> ProvidersセクションにMSDASQL エントリはありません。
誰かが.csvファイルからデータを抽出するための同等の方法を提案できますか?