問題タブ [ado]
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++ - C++でSQLiteのADOの編集/更新メカニズムをエミュレートする方法は?
ADO を使用して Oracle データベースと通信する C++ アプリケーションがあります。オフライン ドキュメントをサポートするためにアプリケーションを更新しています。ローカル側に SQLite を実装することにしました。
適切なコードを呼び出す ADO クラスのラッパーを実装しました。ただし、行を追加/編集/削除する ADO の方法は、SQLite で実装するのが少し難しいです。
ADO の場合、次のように記述します。
この単純な例では、更新プログラムを発行するだけでもかまいませんが、実際のコードはかなり複雑です。
実際にデータを更新するためにEdit()
との間で呼び出しを取得するにはどうすればよいですか? Update()
私の最初の考えは、Edit()
構成を別のクエリにしてUpdate()
実際に実行することですが、どのフィールドが変更されるのか、テーブルのどのキーが更新クエリを制限するのかわかりません。
database - 最初は RDO、後に ADO、さらには ADO.NET、現在は LINQ です。LINQ は次の標準ですか、それとも待つべきですか?
私の謙虚な意見では、Microsoft はデータベース管理に関するルールを 4 ~ 5 年ごとに変更しています。RDO が SQL サーバーに接続するためのソリューションだった昔のことを思い出します。RDO は時代遅れだったので、ADO を使用するように知識を更新しました。ADO は非常に優れていて効果的でしたが、つい最近、私は自分でプログラミングをして、ADO.NET を使用するための知識を再確認していることに気付きました。現在、LINQ を使用して最初のプロジェクトに取り組んでいます。
あなたの意見は何ですか?LINQ は次の標準になる準備ができていますか、それとも .NET 2.0 のように ADO.NET を使用し続ける必要がありますか? LINQ への変更が、それが提供する利点と比較してそれほど高くないかどうか、あなた自身の経験から知る必要があります。
stored-procedures - vb6を使用して、戻り値または出力パラメーターではないレコードセットから値を取得する方法
対話したい既存のサードパーティアプリケーション(SQL 2005)にストアドプロシージャがあります。
これは、次のように、挿入ステートメントとそれに続く選択ステートメントです。
VB6を使用して、@ CustomerIDの値にアクセスするにはどうすればよいですか?
期待どおりに結果セットを返していません...
[編集]
rs.Fields.Countは0です。
rs(0).Valueのように、結果のレコードセットにアクセスしようとすると、単に「アイテムが見つかりません...」というエラーが発生します。
sql-server - 読み取り専用アクセスでデッドロックを作成することは可能ですか?
ADO を介して MSSQL2000 サーバー上の単一のテーブルにアクセスする VB6 アプリケーションがあります。読み取り専用アクセス (adOpenStatic、adLockReadOnly) を使用しています ネットワークには、テーブルに変更を加える他のアプリケーションがあります。
なんらかの理由で、自分のアプリケーションがデッドロックの対象として選択されているというエラーが発生します。
私は本当に混乱しています: 1 つのテーブルから読み込んでいるときにデッドロックが発生するのはなぜですか? 他のアプリケーションの書き込みのためにタイムアウトが発生すると予想されますが、デッドロックではありません...
誰かがこれに光を当てることができますか?
UPDATE: 2009-06-15私はまだこの問題の解決策に興味があります。だから私はいくつかのより多くの情報を提供しています:
- adOpenForwardOnly または adOpenStatic を選択しても違いはありません
- カーソル位置がクライアントかサーバーかは関係ありません。
sql - 従来の ADO による SQL - 未定義の関数「ラウンド」?
私はレガシー製品に取り組んでおり、SQL Server にリンクされたテーブルを持つ Access データベースに対して、ADO を介して SQL を実行しています。SQL を実行すると「Undefined function 'Round'」というエラーが表示されますが、クエリを取得して Access で直接実行すると正常に動作します。すべてが正しく、これはマシン固有の問題であることはわかっています。これはプロダクション コードであるためです。他のマシンでも動作し、多くのクライアントに正常に展開されています。
正直に言うと、どこから始めればよいかさえわかりません。Jet/ADO/MDAC の正しい (最新) バージョンを実行しています。
任意の助けをいただければ幸いです。
前もって感謝します。
編集: 明らかに、SQL には集計関数「ラウンド」が含まれています。Jet と SQL の実装の違いは認識しています。この問題は、コードの問題ではなく、マシン上のコンポーネントの問題が原因です。SQL は、MS Access 2007 を介して実行すると正しく実行されますが、ADO を介して実行することはできません。
ado - ADO SQLServer dbGo が EAccessViolation を生成する
シングルスレッドで DB を埋めるプログラムがあります。すべてのクエリに 1 つの接続を使用します。つまり、トランザクションでそれらすべてを実行できるようになります。
毎秒、SQL Server 2005 Express に入力する必要がある新しいファイル セットを取得します。
アプリケーションは 24 ~ 36 時間実行でき、クエリで突然「EAccessViolation」を取得します。
このクエリは、少なくとも 24 * 60 * 60 回実行されています。
ほとんどのクエリ(90%)にはパラメータがあるため、パラメータのないクエリでも発生するかどうかはわかりません。それらは挿入/更新であるか、パラメーターを使用して選択します。
これが発生すると、その後のすべてのクエリで同じ EAccessViolation が発生し、しばらくすると StackOverflow が発生します。
コードは、例外が処理され、次回コードが問題なく実行されるような方法で構築されています。
BCB Builder 2007 の dbGo を使用する代わりに、Cpp Builder 6.0 で ADO を実行したという唯一の変更を加えた、さまざまなクエリ (以前のバージョンから変更されていない) でこれが発生しているという事実。
Windows 版 MDAC(2.8) や CodeGear の de dbGo にあると思われます。以前のバージョン (ADO BCB6.0) ではこの問題に遭遇せず、現在 (dbGO と BCB2007) では問題が発生しているという事実は、その部分を非常に疑わしいものにしています。
このすべての理由が何であるかについて、いくつかの素晴らしいアイデアがあることを願っています。
現時点では、デスクトップでは再現できません。私はまだそれを再現しようとしていますが、それは間違いなくより多くの情報を提供します.
提案をお待ちしています。
よろしく
jvdn。
vb6 - ストアド プロシージャのタイムアウト - ただし、SSMS から実行する場合は問題ありません
「タイムアウトの期限が切れました」というエラーが発生しているストアド プロシージャがあります。
関連するコードは ADO/VB6 です。
ストアド プロシージャ自体は問題ありません。クエリ ウィンドウで実行でき、1 秒もかかりません。
接続などを取得するために使用されるコードもモジュール化されており、巨大なアプリケーション全体で使用されています。1 つの特定のデータベースでタイムアウトが発生するのは、この 1 つの場所だけです。
エラーは、VB6 コードをデバッグで実行するかどうかに関係なく、何百回も試行するたびに再現可能であり、突然すべてが魔法のように再び機能し始めます。その後、しばらくすると同じ問題が再び発生します。
ここにどれだけのコードを記述すればよいかわかりませんが、複雑なことは何もありません。それは基本的にです。
私はプロファイラーで見てきましたが、sp の実行前後に "SET NO_BROWSETABLE ON" / "SET NO_BROWSETABLE OFF" ステートメントが発生することがあります。
私はネットを検索しましたが、これに関する満足のいくヘルプを見つけることができませんでした。この時点で、私は喜んで何でも試してみます (残念ながら、.NET での書き換えはオプションではありません!)