問題タブ [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.
sql-server-2008 - SQL ServerでOLEプロバイダーのアクセス許可の理由を見つける方法は?
Office201064ビットをWindows764ビットにインストールしました。Windows7にもSQLServer2008がインストールされています。
次にMicrosoft.ACE.OLEDB.12.0
、T-SQLを使用してExcelファイルからデータにアクセスするために使用しようとします。
次の種類のクエリを使用して、SQL ServerMgmtStudioでT-SQLを試します。
「管理者として実行」でSQLServerMgmt Studioを起動すると、問題ありません。Excelファイルとの間でデータにアクセス/挿入できます。
(ADアカウントを使用して)Mgmt Studioを直接起動すると、次のようなエラーが発生します。
リンクサーバー"(null)"のOLEDBプロバイダー"Microsoft.ACE.OLEDB.12.0"は、メッセージ"Unducederror"を返しました。
メッセージ7303、レベル16、状態1、行1
リンクサーバー "(null)"のOLEDBプロバイダー"Microsoft.ACE.OLEDB.12.0"のデータソースオブジェクトを初期化できません。
しかし実際には、私のアカウントは管理者アカウントでもあります(ローカル管理者グループとAD管理者グループにあります)。
OpenRowSet
コードのようにT-SQLを実行する必要があるため、この問題を解決する方法がわかりません。
この場合のOpenRowSetは、ローカル管理者がMSSMを実行する場合にのみ問題ないように見えます。
別のコンピューターからMSSMを実行しようとすると、上記と同じエラーが発生します。
sql - OpenRowSet を使用して空のファイルにデータを挿入する方法
OpenRowSetを使用して空のファイルにデータを挿入する方法
txt ファイル (D:\TDB など) に挿入する必要がありselect * from sys.tables
ます。
私は得る
リンク サーバー "(null)" の OLE DB プロバイダー "MICROSOFT.JET.OLEDB.4.0" から、"Microsoft Jet データベース エンジンはオブジェクト 'sys.tables.txt' が見つかりませんでした。その名前とパス名は正しくあります。」
メッセージ 7350、レベル 16、状態 2、回線
1 リンク サーバー "(null)" の OLE DB プロバイダー "MICROSOFT.JET.OLEDB.4.0" から列情報を取得できません。
なにが問題ですか?
PS。bcpソリューションを提案しないでください。原因は既にテストされており、毎回機能しないため、今すぐopenrowsetをテストします。
sql-server-2005 - OpenRowSet での Unicode クエリ
nvarchar パラメータを持つストアド プロシージャがあります。OPENROWSET を使用して返されたテーブルを取得したい。しかし、次のコードを使用すると、結果が正しくなくなります
OPENROWSET はクエリを VARCHAR に変換し、プロシージャを正しく実行しません。OPENROWSET は私のコードを次のように実行するようです:
したがって、結果は正しくありません。問題を解決するための OPENROWSET のオプションはありますか?
sql-server - Excel で OPENROWSET を使用すると、「シングル スレッド アパートメント モード」エラーが発生する
エクセルファイルがあります。その Excel ファイルを SQL Server にインポートする必要があります。このクエリを使用しています。
しかし、私は次のようなエラーが発生しています:
メッセージ 7308、レベル 16、状態 1、行 1 OLE DB プロバイダー 'Microsoft.Jet.OLEDB.4.0' は、プロバイダーがシングル スレッド アパートメント モードで実行するように構成されているため、分散クエリには使用できません。
sql - 変数を使用した SQL SELECT * FROM OPENROWSET
変数を OPENROWSET の SELECT ステートメントに渡そうとしていますが、エラーが発生し続けます
に適用するにはどの構文を使用します@SQL
か?
私が得るエラーは次のとおりです。
エラーは次のとおりです: リンク サーバー "(null)" の OLE DB プロバイダー "MSDASQL" がメッセージ "[Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface]Error in predicate: TranDate = '(SELECT @ dDateTIME)'"
sql-server - ストアド プロシージャ コードで sqlcmd コマンドを呼び出す
リンクサーバーはopenrowsetクエリを送信するのが簡単ではないため、SQLCMDモードを介してリモートSqlサーバーに直接接続します。しかし、これは Query Analyzer を使用すると問題ありません。コードをストアドプロシージャに入れると、保存することさえできません:
「:」付近の構文が正しくありません。
tsql - Access 97 テーブルを SQL Server 2008 R2 64 ビットに毎日コピーする
Access 97 データベースを使用して情報を格納する古いシステムがあります。毎日、90 ほどのテーブルから SQL Server 2008 データベースにデータをコピーしたいと考えています。SS2008 で定義されたテーブルが既にあります。
テーブルごとに個別のボックスラインボックスを持つ、同じように古い DTS ジョブがあります。行やボックスではなく、コードで記述された、保守が容易なメソッドを使用したいと思います。(はい、SSIS の行とボックスが XML に変換されることは知っていますが、それを読み書きするのはちょっと難しいです。)
SS2008 サーバーが 64 ビット プロセスとして実行されているため、Linked Server または OPENROWSET を使用できず、OLEDB Jet ドライバーを使用できません。OLEDB MSOffice ACE 12.0 ドライバーは 64 ビットですが、(Microsoft によると) スレッドセーフではないため、データベース サーバーで使用することは想定されていません。また、広範な調査にもかかわらず、SS2008 内で動作させることができません (「インストール可能な ISAM が見つかりませんでした」)。SSIS などの 32 ビット プログラムで OLEDB Jet を使用して Access テーブルを読み取ることができます。
そのため、Access mdb/mdw ファイルから SS2008 にテーブルをコピーするための、モダンで非ボックス アンド ラインのエレガントな 32 ビット ソリューションを探しています。
私はこれを行うことができます:
- 単一の T-SQL スクリプト
- イントロスペクションを行ってテーブル構造を決定し、各テーブルに対して SQL を実行する C# のこと
- いくつかの魔法の「このOLEDBからそのSQL Serverにすべてのテーブルをコピーする」パッケージ
この質問にはいくつかの詳細な重複があります (アクセス データベースを SQL サーバーに定期的にコピーする、アクセス テーブルを SQL サーバーに移行する - 初心者)、OPENROWSET/Linked Server を非オプションにする 32 ビットの制限に対処するものはありません。
windows-7 - Microsoft.ACE.OLEDB.12.0 がインストールされているが、SQL 2008R2 のプロバイダーとして表示されない
Windows7 マシンに Microsoft.ACE.OLEDB.12.0 をインストールしましたが、レジストリの関連ビットのプロバイダーの下に表示されず(HKLM/Software/Microsoft/Microsoft SQL Server/MSSQL10_50.MSSQLSERVER/Providers)
、おそらくこれが原因で、リンク サーバーのプロバイダーのリストに表示されません。 SQLServer Management Studio のセクション。
私が抱えている問題はOPENROWSET
、Excel スプレッドシートに対してクエリを実行しようとしていることです。
これは、Web アプリケーション/データベースを XP から新しい Windows 7 インストールに移行した後です。
言うまでもなく、XP ボックスではすべてが問題ありませんでした。