問題タブ [oledbconnection]
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.
c# - OleDbCommand.ExecuteReader スロー例外
私の C# .NET 3.5 アプリケーションは、実行時に異常な例外をスローしていますOleDbCommand.ExecuteReader
。アプリケーションは、Access 2007 データベースに対して 5 つの同様のクエリを作成します。クエリのうち 3 つは問題なく実行されます。他の 2 つはまったく同じ例外をスローします。
これは渡すクエリです:
これは、例外をスローするクエリです。
すべてのクエリが実行される方法は次のとおりです。
これは例外です:
System.Data.OleDb.OleDbException: 1 つ以上の必須パラメーターに値が指定されていません。System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling (OleDbHResul t hr) で System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult (tagDBPARA MS dbParams、Object& executeResult) で System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) で System. System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior 動作、String メソッド) で Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior 動作、オブジェクトと executeResult) System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior 動作) で System. C の XML_Generator.MappingTable.RunQuery (文字列クエリ、Int32 fieldCount、オブジェクト ターゲット) での Data.OleDb.OleDbCommand.ExecuteReader():
どんな助けでも大歓迎です。ありがとう。
c++ - OLE DB 経由で Oracle 11g に接続できない
解決済み: 私の VC++ アプリケーションは 32 ビットで、Oracle DB は 64 ビットでした。私は当初、クライアントは両方のバージョンの Oracle で動作すると考えていましたが、そうではありません。したがって、Oracle 11g2 32ビットを再インストールすることで問題を解決しました。
C++ で Visual Studio 2008 を介してテスト Oracle 11g2 データベースに接続しようとしています。私のデータベース インスタンス名は ORCL.TEST.DB で、テスト目的で、user:SYSTEM と password:admin で接続を試みます。また、Oracle OLE DB コネクタも使用しています。
おわかりのように、私は何か凝ったことをしようとしているわけではなく、単に接続を成功させようとしているだけです。
hr に含まれるエラー コードは 80004005 で、これは E_FAIL (不明なエラー) です。
最初は、32 対 64 の問題だと思っていました (64 ビット OS と 64 ビット Oracle、ただし Visual Studio 2008 の 32 ビット C++ コンパイラ)。そのため、Oracle の Instant Client 32 ビットをインストールしましたが、問題は解決しませんでした。
何か案は?
sql-server - SqlServer から Access データベースにデータをインポートするための SQL OleDbCommand の作成
私は次のコードを持っています:
データベースから選択SQL SERVER
したい。ACCESS
また、パスワードに[
文字が含まれている場合、どうすればそれをエスケープできますか?
c# - OLEDB接続でExcelシートの使用範囲を選択する
OLEDB コマンド オブジェクトを介して Excel シートの使用範囲を選択する方法はありますか?
400 行の Excel ファイルがあるため、200 行を削除してシートを再度選択しようとすると、200 行ではなく最大 400 行が選択されます。これは、シートを選択するために書いたコードです。
c# - .NET OleDbConnection オブジェクトとその ConnectionString プロパティを適切に初期化する方法は?
これは、Access データベースに接続して操作するための C# コードです。
しかし、行da.Update(ds1,"Customer");
は例外をスローします:
ConnectionString プロパティが初期化されていません。
excel - 挿入用に Excel ファイルを開こうとすると、OLEDB 接続がクラッシュする
OLEDB を使用して、ある Excel ファイルから情報を読み取り、別のファイルに別の形式で出力しています。最初の Excel ファイルで実行されたクエリは正しく返されますが、2 番目のファイルで挿入クエリを実行しようとすると、connection.Open() が呼び出されると vshost32.exe がクラッシュします。作成時に OleDBConnection の ServerVersion に InvalidOperationException がスローされます。これは、有効なバージョン番号に変更され、接続で Open() が呼び出されると状態が Closed から Open に変わるため、正常であると想定しています。
これが私が使用しようとしている接続文字列です。最初のものは最初の Excel ファイルに使用され、次のものは出力への書き込みに使用されます。唯一の識別可能な違いは、2 番目の文字列に「ReadWrite」モードが追加されたことです。また、拡張プロパティで「Excel 8.0」を「Excel 12.0」に変更してみました。
c# - OleDbConnection Excel ACE Driver を使用して、ファイルではなくシーク不可の System.IO.Stream から Excel ファイルを読み取ることはできますか?
In Memory OleDbConnection to Excel File にも同様の質問がありますが、この質問は別の方法で完全に回避することで回答されました。
OleDbConnection
を使用してディスクから Excel ファイルにアクセスするコードの例を次に示します。
System.IO.Stream
ディスク上の永続ファイルではなく、 NON-SEEKABLE からExcelファイルを取得したいと思います。
質問は 2 つの部分に分けられます。a) OleDbConnection を System.IO.Stream に「ポイント」できますか? b) もしそうなら、シーク可能なストリームではなく、転送のみのストリームにすることができますか?
参考: このコード スニペットを実行する場合は、 Microsoft Access データベース エンジン 2010 再頒布可能パッケージをインストールする必要があります。また、64 ビット版をインストールする場合は、プロジェクトのターゲットを x64 にする必要があり、その逆も同様です。
c# - OleDbConnectionをキャッシュして、長期間保持できますか?
静的コンストラクターでは、すべてのデータベースとの接続を開き、ConnectionStringsの静的コピーを保持できるかどうかを確認し、その後、必要に応じてそれを使用します。
今私が作成する場合
プライベート静的リスト<OleDbConnection>_connections;
開いているすべての接続を開いている接続として保存しますか?アプリケーションがオンになるまで、これらの接続を使用できますか?これを行うことに害はありますか?
c# - ローカルファイルのOleDb接続文字列
OleDbを使用して、MS Access(v2003)データベースに接続しています。プロジェクトフォルダーはMyHotApps
であり、OleDb接続文字列はです。
MyConString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Users\Some User\Documents\Visual Studio 2010\WebSites\MyHotApps\Database\MyDbFile.mdb'";
上記のように、私のプロジェクトフォルダはMyHotApps
であり、データベースファイルMyDbFile.mdb
はにありますProject_Folder<MyHotApps>\Database\MyDbFile.mdb
したがって、データベースファイルがプロジェクトフォルダ内にあることは私にはあまりにもローカルであり、プロジェクトフォルダを取得するたびにポータブル接続文字列が必要です。接続文字列を書き直すべきではありません。以下の方法を試しましたが、機能しませんでした。
MyConString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source'=~Database\MyDbFile.mdb'";
ポータブル接続文字列の作成方法を教えてもらえますかデータベースファイルをApp_Dataファイル内に配置する必要があるというフォームをいくつか読みましたが、その方法もわかりません。ポータブル接続文字列を作成する方法を教えてください。
c# - 複数ステップの OLE DB 操作でエラーが発生しました
OleDbConnection を使用して Access 2003 .mdb ファイルを開くときに問題が発生します。
お客様のコンピュータは Windows XP SP3 を実行しています (Windows XP SP2 からアップグレードしたばかりです)。
これをチェックしましたhttp://support.microsoft.com/kb/269495/en-us?fr=1# レジストリは問題ありません。
コード:
例外:
複数ステップの OLE DB 操作でエラーが発生しました。利用可能な場合は、各 OLE DB ステータス値を確認します。作業は行われませんでした。