問題タブ [oledbcommand]
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.
tsql - DBCommandを使用してtsql関数を呼び出すSSIS OLE
Oracle データを SQL Server にインポートしています。クエリを実行して処理するデータを取得する OLE DB ソースの後で、何らかの方法でフィールド値に対して TSQL 関数を呼び出そうとしています...
DepartureDateGMT という日時列と DepartureTimeZoneKey という整数列を持つ SSIS データ フローがあります。
日時を返す dbo.udf_ConvertFromGMT(,) という TSQL 関数があります。
呼び出しの値を保持する DepartureDate という列を埋める OLE DB コマンドを作成しようとしています。
dbo.udf_ConvertFromGMT(DepartureDateGMT,DepartureTimezoneKey)
SSIS データフローの各行。
既存のテーブルを更新/挿入するのではなく、データ フローのデータセットの各行の DepartureDate 列に結果を格納しようとしているだけです。
私は多くのことを試しました
エグゼクティブ?dbo.udf_ConvertFromGMT(?,?)
SELECT dbo.udf_ConvertFromGMT(DepartureDateGMT,DepartureTimezoneKey)
dbo.udf_ConvertFromGMT(?,?)
DECLARE @Result DATETIME SET @Result = dbo.udf_ConvertFromGMT(?,?)
しかし、構文エラー、権限違反、またはその他の非特定エラーが発生します
私は間違った木を吠えていますか?DerivedColumn を使用してみましたが、TSQL 関数を呼び出すことはできません。
ありがとう!
c# - OleDbDataAdapter メソッド (C#) による Excel ファイルからの風変わりな SELECT
次の形式の Excel ファイルがあります。
つまり、最後の行を除いて、列 3 全体が空です。OleDbDataAdapter を介して Excel ファイルにアクセスし、DataTable を返しています。コードは次のとおりです。
ポイントは、このシナリオでは、コードが列 1 と列 2 だけを含む DataTable を返すことです。
私の推測では、JET エンジンはすべての列の最初のセルの型によって列の型を推測しようとします。最初の値が null であるため、列全体が無視されます。
ゼロを埋めようとしましたが、このコードは実際には 3 つの列すべてを返しています。多数の小さなファイルを処理する必要があるため、これは明らかに最も望ましくないソリューションです。
選択範囲の反転 (つまり、 "A1:C5" から "C5:A1" へ) も機能しません。もっとエレガントなものを探しています。
型の不一致 (int 列の varchar セルとその逆) について議論しているいくつかの投稿を既に見つけましたが、実際にはこれに関連するものは何も見つかりませんでした。
読んでくれてありがとう!
編集
またおかしな行動。私は主に Excel 2003 .xls ファイルで作業する必要がありますが、この質問への回答があったので、Excel 2007 .xslx ファイルに対してコードをテストできると思いました。接続文字列は次のとおりです。
「External table is not in the expected format」という例外が発生します。これは、ACE/JET と開いているファイルの間にバージョンの不一致がある場合の標準的な例外であると考えられます。
文字列
は、最新バージョンの OLEDB を使用していることを意味します。ちょっと覗いてみたところ、このバージョンは .xlsx ファイルに接続する必要があるすべての場所で使用されています。
バニラ プロバイダー (Excel 12.0 のみ、IMEX も HDR もなし) だけで試してみましたが、同じ例外が発生します。
.NET 2.0.50727 SP2 を使用していますが、アップグレードする時期でしょうか?
c# - C#でOleDbCommandBuilderを使用して、@記号を含む列名でテーブルを更新する
素晴らしいSOの仲間に挨拶します。
このコードを使用してSQLServerデータベースに変更を加えようとしています。
その後、DataRow
:に加えられた変更を保存するときに
それは私が望むように正確に機能します。DB操作はすべて非常にシンプルで、アプリは複数のデータベース形式をサポートしているため、これがタスクに適した方法です。
@
私の問題は、行に名前に記号が含まれる列が含まれている場合、このメソッドが失敗することです。データベーススキーマ@
は、作成/変更日やチェックサムなどのプライベートメタデータを示すために、列名の前に記号を付けます。
列名に@
符号が含まれている場合、メソッドは:Update
をスローします。OleDbException
スカラー変数@createdを宣言する必要があります
素晴らしい。それで?
真剣に、私はこのことをググって死にました。列名に記号を含めるのは少し珍しいことです@
が、それが私が扱ってきた手です。
何か案は?かなりお願いしますか?:)
c# - Excel からのインポート - ヘッダーが行 1 にありません
OleDBConnection を使用して Excel ワークシートをデータテーブルにインポートし、ヘッダーが配置されている行を変更する簡単な方法はありますか? 接続文字列に HDR=YES があり、ヘッダーが行 1 にある場合にうまく機能しますが、ヘッダーは実際には行 3 にある必要があります。次の CommandText を使用しています。
sql - Zoneという名前の列をOleDbに追加するには?
「Zone」は予約済みのキーワードだと思いますが、これを機能させるために引用符などで囲むことはできますか? 私のDB接続は良好です。異なる名前の列を追加しました。
sql - AccessのLIKEクエリがレコードを返さないのはなぜですか?
理由はありますか
OleDbAdapter.Fill(DataSet)
またはOleDbCommand.ExecuteReader()
?を含むレコードを返しません。
同じSQLをMSAccessで直接実行すると、期待されるレコードが返されます。また、同じコードで、SQLをに変更すると
すべてのレコードが返されます。
.net - oledbcommandオブジェクトでデータを取得する場合、Excutereaderは非常に低速です
oledbcommandのオブジェクトを使用してdBase4データベースからデータをフェッチし、それをdatatableにロードしています。ただし、約5〜10分で160レコードをフェッチするには時間がかかりすぎます。私を助けてください。
コード:
oracle - OLEDBコマンド(SSIS)を使用してOracleの行を更新します
OLEDBコマンドを使用してOracleデータベースのいくつかの行を更新しようとしていますが、
Sqlコマンドを指定しようとすると、これが得られます
使ってみました
「ネイティブOLE DB\Oracle Provider for OLE DB」プロバイダ
そして私はに変更しようとしました
「Native OLE DB\Microsoft OLE BD Provider for Oracle」プロバイダー
しかし、同じエラーが発生します。助けてください。ssis 2008 を使用しています。
セットアップは次のとおりです。接続マネージャーは次のとおりです。
テストすると、成功します
OLEDBCommand を構成するときに、Connenction Manager に渡して、パラメーターを構成するために移動するとき
にコマンドを指定し
ます。何も表示されず
、助けてくれてありがとう
このエラーが表示され
ます
.net - OleDbCommands を使用して更新/変更した後、Excel 関数から .xls の変更を保存する方法は?
TextBox
内の sに値を入力して、ユーザーが変更できるようにする .xls ファイルがありますGridView
。=C4-B4
Excel ファイルには、基本的な ( ) 関数を実行する列 (D) があります。ユーザーは B 列と C 列の両方を編集できますが、関数 (D) を含む列は編集できません。
OleDbCommands を使用して .xls ファイルを変更していますが、問題なく動作します。ただし、列 D は更新されていません。Excelファイルを物理的に開いてから、関数列が適切に更新されるように保存する必要があります。
ソース列に変更が加えられたときに関数が「実行」され、保存されていることを確認する最も簡単な方法は何ですか?
編集
さて、それが含まれている modalpopupextender を非表示にするだけで、ファイルが保存されます。しかし、列 D がクライアント側で更新されないという問題がまだあります。それは私が自分でやらなければならないことだと思いますか?
c# - MS-Access、OleDbCommand、「1 つ以上の必須パラメータに値が指定されていません」というエラー メッセージが表示される
Microsoft アクセスで OleDb を使用することに非常に慣れていないため、問題が発生しています。コマンドにパラメーターを追加してクエリを実行すると、「1 つ以上の必須パラメーターに値が指定されていません」というメッセージが表示されます。
私は頭が痛いです...誰かを助けてください!前もって感謝します。