問題タブ [oledb]
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.
vb.net - VB.net 2005 で FoxPro テーブルを開く
oledb 接続を使用して、vb.net で foxpro フリー テーブルを開く必要があります。
しかし...列名だけを取得する必要があります。何かを「選択」する必要はありません。すべての空きテーブルを動的に参照し、すべてのファイルからすべての列のリストを設定し、各列の説明を含む別の空きテーブルに xref しようとしています。
私は現在、実用的なモデルを持っていますが、そうする必要があります...
しかし、最大のテーブルでは、最初のレコードを読み取るだけで 2 分以上かかり、250 を超えるテーブルがあります。全体で、15 ~ 20 分かかります。
または、「ORDER BY」を使用せずにテーブルの最初のレコードのみを取得する別の方法はありますか?
これが私がこれまでに持っているものです。「ファイル」はパラメーターとして渡されます。
「C:\data\table1.dbf」のような情報が含まれます
次に、データ テーブル (dt) を取得し、ループして列情報を取得します。
データセットを作成し、ウィザードを使用してディレクトリからすべてのテーブルをロードするときに、Visual Studio と同じくらい速く処理したいと考えています。テーブルからデータを読み取ることなく、すべての列情報を非常に迅速に見つけることができます。
さらに情報が必要な場合はお知らせください。
ありがとう。
c# - .NET を使用して FoxPro メモ フィールドのデータを抽出するにはどうすればよいですか?
FoxPro データベースを XML に変換する C# プログラムを作成していますが、メモ フィールドが空白であること以外はすべて機能します。そのビットを変換するために欠けているものはありますか?
C# .Net 3.5 SP1、Visual FoxPro 9 SP 1 OLE DB ドライバーを使用しています。他のすべてのデータが適切にプルされているため、接続文字列は問題ありません。
FoxPro データベースを SQL Server に変換したところ、メモ欄も空欄になってしまい、2 回変換できませんでした。
c# - .NetでExcelからインポートする場合の科学的記数法
Excelからデータをインポートして処理するC#/。Netジョブがあります。クライアントがファイルをドロップして処理します。元のファイルを制御することはできません。
OleDbライブラリを使用してデータセットを埋めます。ファイルには、30829300、30071500などの番号が含まれています。これらの列のデータ型は「テキスト」です。
データをインポートすると、これらの数値は科学的記数法に変換されます。これを防ぐ方法はありますか?
ado.net - 64 ビットの ADO.NET 経由の CSV アクセス?
32 ビット .NET アプリでは、次の OLEDB 接続文字列を使用して、ADO.NET 経由で CSV ファイルに接続できます。
またはこのODBCのもの:
ただし、OLEDB Jet ドライバーまたは ODBC テキスト ドライバーのいずれかの 64 ビット バージョンはないようです。
CSV を 1 行ずつ解析することも、32 ビット モードでアプリを実行することもできますが、理想的には、64 ビットで実行される別のドライバーを見つけたいだけです。
何か案は?
.net - Excel、OleDb、先行ゼロ
OleDb を使用して、Excel ファイルから DataSet にデータを読み取るプロセスがあります。先頭に 0 があるデータが表示されるまで、すべてがうまく機能していました。テキストは、一般またはテキストとしてフォーマットされます。
OleDb 接続で IMEX=1 を設定しましたが、先頭が 0 の各エントリのデータセットで null 値が取得されます。
誰かがこれを回避する方法を知っていますか?
編集
ちょっとした追加情報として、先頭の 0 を保持する必要があり、列は General としてフォーマットされています。テキストも試しました。
先行ゼロを持つ最初のエントリは行 11 にあり、NULL が返されます。この特定のシートの他のすべてのデータは、この列の数値です。
schema - ODBC と OleDB を使用してスキーマにアクセスする最も効率的な方法
C# で DAL テンプレートを作成していますが、ODBC と OleDB を使用してスキーマ情報にアクセスする最も効率的な方法は何だろうと考えています。列、列の種類、および主キーの情報が必要です。
ありがとう
c# - 準備されたステートメントから TransactionLevel.ReadUncommitted を使用して c# から MS Access に行を挿入すると、順序がずれているように見えます
準備されたステートメントを使用してアクセスデータベースに情報を (行ごとに) 書き込む c# のコードがいくつかあります。OleDb と TransactionLevel.ReadUncommitted を使用しています。コミットする前にデータを確認する必要がある場合があるためです。
問題は、7 つの異なるテーブルのうちの 1 つで、データベースからレコードを取得する順序が、入れた順序と同じではないことです。これは、使用しようとする 4 回ごとに約 1 回発生するため、実際にはデバッグできないようです。
編集 ここで順序付けが重要な理由は、そこに既に存在するデータと一致する Excel シートにテーブルをダンプしているためです。並べ替えは多少進むかもしれませんが、シート上のデータと一致するように並べ替えることができなかった動き (つまり、N-NW) によって並べ替えられた列があります。
私はそれが準備されたステートメントの挿入コマンドの競合状態であることに傾いています(つまり、一度に処理するにはアクセスするには多すぎるため、混乱します)。
誰もこれについて何か考えがありますか?以下は、私がやっていることのいくつかのスニペットです:
vb6 - 従来の Sybase Adaptive Server Anywhere 用の DSN レス ODBC 接続文字列
これは、この記事に対する失敗した応答です: Sybase、VB、および ADO
レガシー ASA 7 データベースに接続する VB6 プロジェクトを実行しました。(何らかの理由で) ASAProv OLEDB プロバイダーを完全に使用できず、多くの調査を行った後、DSN なしの ODBC ドライバー接続用の ODBC shim 用の OLEDB プロバイダーの接続文字列を次に示します。
Provider=MSDASQL.1;Driver={Adaptive Server Anywhere 7.0};CommLinks=TCPIP,SharedMemory;EngineName=<database_name>;UID=DBA;PWD=SQL
dbeng7.exeが<database_name>
データベースを実行しているインスタンス名です。エンジン ログで「データベース " <database_name>
" を開始中」を確認してください。
HKLM\SOFTWARE\ODBC\ODBC.INI\<system_dsn>
システム DSN を作成し、設定を調整し、値キーを検査することで、ODBC 接続文字列の有効なプロパティ名をすべて見つけることができます。
MSDASQL プロバイダー接続文字列の Driver プロパティで使用できる ODBC ドライバーは、次のサブキーです。HKLM\SOFTWARE\ODBC\ODBCINST.INI
どうやら Sybase のログイン パスワードは大文字と小文字を区別しないようです。
乾杯
</wqw>
c# - C#/ASP.NET Oledb - MS Excel で「特定できないエラー」と表示される
Windows Server 2003 Enterprise Edition の IIS 6 で実行されている C#/ASP.NET (2.0) アプリケーションがあります。このアプリケーションは OleDb を使用して Excel ファイルを読み取りますが、アプリケーション内からスローされる「特定できないエラー」例外が発生する場合があります。
ファイルは、開く前にファイル アップロード コードによって一時ディレクトリに保存されます。IIS で匿名アクセスを有効にし、web.config で偽装も使用しているため、フォルダー C:\Windows\Temp\ には、インターネット ゲスト ユーザー アカウント (IUSR_[MachineName]) を作成できる適切なアクセス許可があります。そこでファイルを変更および削除します。
OleDb 接続文字列:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Windows\Temp\tmp123.tmp.xls;
拡張プロパティ="Excel 8.0;HDR=はい;IMEX=1;"
[上記の「データ ソース」属性は、ファイルごとに変更されます。]
回避策:
これまでのところ、私たちが思いついた唯一の回避策は、iisreset を実行することでした (IIS でアプリケーション プールのリサイクルを 1 日 1 回実行するように構成しましたが、問題が数日連続して持続する場合があるため、役に立たないようです。 )。これは良いことではありませんが、さらに悪いことに、IIS をリセットするたびに影響を受ける同じ Web サイトに他のアプリケーションがあることです。
質問:
1. このエラーは時折発生し、パターンが見られないため、このエラーをどのように解決しますか?
2. OleDb 以外に、C#/ASP.NET から Excel ファイルを処理するためのより良い (そして無料の) 方法はありますか? (Microsoft では推奨されていないため、サーバーに MS Office をインストールしないことをお勧めします)
私たちの制限:
1. MS Office 2003 (.xls) 形式に固執しており、MS Office 2007 (OOXML) 形式に移行できません。
2. CSV を使用しない理由は、データ内にカンマが含まれる可能性があるため (引用を使用しても対処するのが面倒です)、スプレッドシートで複数のワークシートを使用するためです (これは CSV では実行できません)。 .
ありがとう!:)
更新:
ありがとう、キース。Jet エンジンの問題のように思えますが、(無料で使いやすい) 代替手段がないため、Jet エンジンを使用しています。
ありがとう、ジョー。しかし、予算が限られているため、主に無料のツール/ライブラリを探しています。
.net - OleDBとSQLClientの長所と短所は何ですか?
いくつかのコンテキスト:私が取り組んでいるシステムの1つは、.net2.0Webアプリケーションです。フロントエンドにはVB.net、バックエンドにはSQLServer2005。時間の経過とともに失われたさまざまな理由により、元の設計者はSQLClient接続ではなく.NetOleDB接続を使用することを決定しました。
数年の開発の後、この特定のシステムは、「ベータ」から「1.0」のステータスへの境界線を越えようとしています。この時点で話していることの1つは、SQLClient接続への移行です。これを使用することがベストプラクティスであり、SQL Server 2005のより優れた機能(明らかに使用していません)を利用する唯一の方法であることは承知していますが、SQLServer2005を使用することの利点は何ですか。他の?私が知っておくべき隠された落とし穴はありますか?そして、誰かが相対速度を示すいくつかのベンチマークを私に指摘できますか?(SQLClientの方が高速であると聞いていますが、それを裏付ける数字は見たことがありません。)
皆さんありがとう。