問題タブ [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.

0 投票する
1 に答える
11539 参照

sql-server - SQLからWebサービスに接続する

SQL Serverは、データプロバイダー(JET、ACEなど)とOPENROWSETを使用して、Excelシート(xlsx)を開き、データベース(mdb)およびその他のデータストリームにアクセスできます。

リモートWebサービスからデータを抽出するための同様の機能はありますか?OPENROWSETを使用し、WebサービスドライバーとURL、およびいくつかのスキーマ定義を提供して、WebサービスXML出力の階層的な性質をSQLServerがクエリできるテーブルに変換します。

私は次のようなことを考えています:

これは高レベルの質問です。概念的には可能であるとは思いますが、このアイデアの実装があるかどうかを知りたいと思います。

ありがとう

0 投票する
4 に答える
8641 参照

sql - OPENROWSET-すべてをテキストとして読み取る方法は?

次のコマンドを使用して、SQLServerにデータをロードしています。

問題は、明らかにドライバーが各フィールドのデータ型を推測しようとし、キャストが失敗した場合は単にnullを読み取ることです。たとえば、次のようなものがあるとします。

「SomeCode」は整数であり、「ABC」はNULLとして読み取られるようです。これを防ぐ方法はありますか?私が欲しいのは、データがずっとvarcharsとして扱われることです。

何か案は?

0 投票する
2 に答える
2958 参照

sql - SQL ServerのCLOBからデータを解析する方法は?

OPENROWSETをBULKコマンドとともに使用して、データをCLOBとしてSQL Serverにロードし、2番目のステップとしてCLOBを解析し、データをテーブルとしてロードリードしたいと思います。

例えば:

収量:

これを次のように選択します。

0 投票する
2 に答える
859 参照

c# - MySQLからデータを選択してSQLサーバーに挿入するC#アプリ(blobファイル)

MySQLデータベースでクエリを実行し、その結果をSQL-Server2008R2データベースに挿入したいと思います。

私のテーブル(MySQLデータベース)には複数の列があり、そのうちの1つにファイルパスが含まれています。そのパスを使用して、実際のファイルをBLOBとしてSQLサーバーに挿入したいと思います。

したがって、MySQLのすべての列をSQLサーバーに挿入し、実際のファイルをBLOBとして挿入する必要があります。

MySQLデータベースに接続してクエリを実行したり、SQL-Serverに接続したりできます。しかし、どうすれば結果を挿入できますか。(一部のファイルは非常に大きいです!!)

OPENROWSETについて何か見つけましたが、メタデータファイルを挿入する良い例が見つかりませんでした。

このためのC#アプリを作成したいと思います。助けていただければ幸いです。

0 投票する
1 に答える
787 参照

visual-studio-2010 - データベース プロジェクトのデプロイでプロジェクト ルートに関連するファイルを参照する方法は?

Visual Studio 2010 にデータベース プロジェクトがあり、デプロイ後のスクリプトで 2 つのファイルからデータベースにバイナリ データをインポートしたいと考えています。そのために、デプロイ後のスクリプト ファイルから参照されるファイルに、次のようなコードがあります。

これ以前に機能しました。どの時点で機能しなくなったのかはわかりませんが、今はエラーだけが表示されますSQL01262: The variable 'ProjectDirectory' has not been defined(皮肉なことに、デプロイ後のスクリプト自体のエラーの場所、行 0、列 0)。プロジェクトルートの下のファイルを掘り下げたところ、プロジェクトファイル自体で定義されているようなものであることがわかりました。これは、最上位<Project>ノード内に次のものがあります。

上記のスニペットで を変更$(ProjectDirectory)$(MSBuildProjectDirectory)ても、エラー メッセージの変数名以外は何も変更されませんでした。エラーは、展開自体ではなく、展開の検証段階で発生します。

配置後のスクリプトで、プロジェクトのルート ディレクトリに関連するファイルを参照し、それらのファイルの内容をデータベース配置に含める正しい方法は何ですか?

0 投票する
2 に答える
6507 参照

sql-server - SQL Server 2005 OPENROWSET を Excel に挿入 - テキストから数値への書式設定

だから大したことではありませんが、GoogleはそれがExcelドライバーの問題である可能性について、最近(ほとんど2007年かそこら)何も返していません...「答え」として見つけたものはそうではなかったので、ここに質問をするために来ました追加の調査なしで受け入れられます。

私の問題:

動的 OPENROWSET クエリを作成して、特定のユーザーにレポートを送信するための新しいデータをクリアして挿入します。ベースの Excel レポートには、挿入されたデータに基づいて計算および合計する数式が含まれており、乗算式は正常に機能しているように見えますが、合計はテキストではなく「数値」として Excel で適切に書式設定されますが、合計は機能しません...

ソリューションはフリーフォーム ベースである必要があります (ソリューションがある場合)。すべてのコードを SSIS に転送したくありません...

コードの更新/挿入:

2 番目の問題で、今のところは問題にならないかもしれませんが、後で - 挿入後、結果の周りに境界線が作成されるようです。結果の転送中にそれらを削除する潜在的な方法もありますか?

ドライバーの問題であるかどうかを調査するためのヘルプまたはソースは、何も見つからなかったので高く評価されます。

0 投票する
1 に答える
3366 参照

sql-server - OPENROWSET MSG 7399/7303 を使用した SQL Server 2005 から Excel への変換

私の忍耐はこの問題で終わりです。テーブル/ビューからさまざまなExcelファイルにデータを挿入する、先週まで完全に正常に機能していたSSMSまたはエージェントを介してジョブを実行します。

ごく最近では、ジョブ/コードは実行され続けますが、終了することはありません...これらのジョブは、完了するまでに最大 15 ~ 25 秒しかかかりませんでしたが、今では決して終了しません。以下のコードを新しいシートでテストしたところ、すぐに実行されました! 私が得ているエラーも役に立ちません.Googleで見つけた解決策は役に立たなかったか、すでに設定されていました.

openrowset のエクスポートが爆撃されて機能しない原因となるアイデアはありますか?

私が一般的に実行するコードは動作します:

現在のエラー メッセージ:

メッセージ 7399、レベル 16、状態 1、行 1
リンク サーバー "(null)" の OLE DB プロバイダー "Microsoft.ACE.OLEDB.12.0" がエラーを報告しました。プロバイダーは、エラーに関する情報を提供しませんでした。
メッセージ 7303、レベル 16、状態 1、行 1
リンク サーバー "(null)" の OLE DB プロバイダー "Microsoft.ACE.OLEDB.12.0" のデータ ソース オブジェクトを初期化できません。

システム:

  • Windows XP 32 ビット上の SQL Server 2005 32 ビット

更新/編集された情報:

  • Excel シートには、別のタブに関数が含まれているか、[Data$] タブからデータを推定するグラフが含まれています (これが役立つ場合)。

  • 新しいワークシートを作成し、挿入クエリをテストしたところ、完全に機能しました

  • ソースファイルは元々サーバー上で作成されたものではなく、代わりに共有ドライブを介して転送されました (これは問題ではないと思います)

どんな助けでも大歓迎です!!

ありがとう

0 投票する
1 に答える
22603 参照

sql-server - OPENROWSET と Excel ファイル

簡単なステートメントを実行したい:

そして、今日の朝、突然、次のメッセージが表示されます。

今日の朝まで働いていました!

サーバーの仕様は次のとおりです。 Windows 2008 R2 64 ビット SQL Server 2008 64 ビット

AccessDatabaseEngine_x64.exe をインストールしました。

SQL Server は LocalService アカウントで実行されています。Everyone に "C:\Temp" と "C:\Windows\ServiceProfiles\LocalService\AppData\Local" への FullControl アクセス許可を設定しました。

見逃したものはありますか?私は本当に混乱しています...

編集済み:これらのステートメントも実行しました:

ACE.OLEDB.12.0管理者アカウントでもテストしました:

別のエラーがあります:

最後に見つけました: ProcMon を実行したところ、Sql Server が F:\Windows Temp\ にアクセスしようとしていて、フォルダーが存在しないことがわかりました! フォルダを作成し、問題は解決しました。しかし、私はそのようなフォルダを持っていませんでした!!!

0 投票する
1 に答える
672 参照

tsql - SQL Server openrowset() MS Access テーブルの列数をテスト

Google経由で答えが見つかりませんでした。このコードを SQL Server ストアド プロシージャから実行する必要があります。

tblReports というテーブルを含む 100 以上のアクセス データベースを持つフォルダーがあります。一部のアクセス データベースには、tblReports に AdminReport という追加の列があります。

余分な列が存在する場合はキャプチャする必要があるため、tblReports にある列の数をテストして、sp で if/else ステートメントを使用して、列数に基づいて正しい SQL を生成できるようにする必要があります。

私はあなたの考えを読みたいです、ここに関連するスニペットがあります.