問題タブ [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.
scripting - ワイヤレスを介したHTAでのDAOとADO
ネットワーク共有上にあるAccessMDBとの間で読み取り/書き込みを行うHTAとして、ワイヤレスネットワーク上で実行される小さな(8〜10台のラップトップ)POSシステムを作成しました。
ADOを使用する必要があります-GetStringとユーザー名簿はDAOでは使用できません。
また、DAOを使用する必要があります。MDBはADOで圧縮できません。
私は次のことを知っています:
1)データベースバックエンドがAccess MDBでない場合は、ADOを使用する必要があります。
2)バックエンドがMDBであるが、ある時点でSQL Serverにアップグレードしたい場合は、ADOを使用する必要があります。
3)Accessアプリケーションまたはその他のVBA / VBアプリケーション内では、DAOを使用する必要があります。ADOはJet OLE DBプロバイダーの変換レイヤーを経由する必要がありますが、DAOはより直接的です。
4)VBScript / JScriptを使用すると、DAOまたはADOのいずれかを使用できます。
2つの部分からなる質問は次のとおりです
。1)このソフトウェア環境(HTA /スクリプト)では、DAOよりもADOを使用する方がよいでしょうか。
2)HTAはワイヤレスネットワークを介して読み取り/書き込みを行うため、ADOには何らかの利点がありますか?
asp-classic - adodb でタイムスタンプ フィールドの値を取得する - 従来の ASP からバイト配列を読み取る方法
データベースにクエリを実行して、aspとadodbを使用しています(ms sql 2005)
タイムスタンプ型のスタンプという名前のフィールドがあります
aspで次のようになります
field.ActualSize: 8 field.DefinedSize: field.Name: スタンプ field.Type: adBinary (128)
field.Attributes: 528 (adFldFixed (16) + adFldRowVersion (512) ) (adFldLong がオンになっていないため、getchunk メソッドを使用できません!) http://msdn.microsoft.com/en-us/library/ ms676678(VS.85).aspx
デバッガーで field.value と入力すると、次のようになります。
GETしたいものです!!!! しかし、私はそれを行う方法がわかりません...
変数に代入できますが、各要素を取得できません
で試しました
(引数の数が間違っています)
問題は、バイト配列を持っていることです。どうすればそれを読み取ることができますか???
oracle - 複数の Oracle クライアント
特定のワークステーションに複数の Oracle クライアント (つまり、Oracle 9 と Oracle 10) をインストールしている場合、ADO で使用するクライアントを指定するにはどうすればよいですか? 2 つのクライアント間で交換する方法はありますか?
現在、Microsoft プロバイダーではなく、Oracle プロバイダー - oraoledb を使用しています。
sql - SQL タイムアウト エラー
W2003 Web サーバーで実行している約 30 のサイトのうち、1 つのみで問題が発生しています。
おそらく 1 日の約 25% の間、Web サイトは常に次を返します: SQL へのさまざまな接続での SQL タイムアウト エラー (ODBC を使用)
ODBCドライバーを確認して、見つけた最新のもの(3.5.x?)に更新しました。また、SQLサーバーに問題があるかどうかも確認しています(Gb LAN経由で接続された同じネットワーク上で実行されている別のサーバー)
IIS ログ ファイルが "[Microsoft][ODBC_SQL_Server_Driver]Timeout_expired" を返す
今朝問題が発生したので、SQL サーバーを再起動して、負荷に関連する問題かどうかを確認しようとしましたが、サイトは再起動後約 20 分間これらのエラーを生成し続けました (他のすべてのサイトが機能していたにもかかわらず)。この時点で)-その後、タイムアウトが停止し、現在は再び機能しています。
Web サイトの SQL 接続のタイムアウトを延長して、これが何かを変更したかどうかを確認しようとしましたが、何もしていないようです。
このサイトは約 3 年間継続して問題なく稼働しており、しばらくサーバーに変更を加えていません。
DB接続が正しく開いている/閉じていることを確認するためにすべてのコードを調べました(サイトはクラシックASPです)、同時に開いている接続が多すぎないことを確認しましたが、すべて役に立たず、不足し始めていますアイデアの....誰か?
私の唯一の考えは、ODBC の代わりに OLEDB 接続に変更することですが、その前に、最初に試すことができる見逃したものがないことを確認したかったのです。
前もって感謝します!
カール。
sql - VBScript (または VB6) を使用して、バイト/整数配列から生/バイナリ フィールド値を SQL で挿入する方法は?
SQL を使用して、理想的には ADO (クラシック) & VBScript (または Visual Basic 6) で数バイトを Binary (または varbinary) フィールドに渡す方法を知っている人はいますか?
10 ~ 20 (おそらくそれ以上) バイトのデータをエンコードし、このデータを SQL db フィールドに格納したいと考えています。(MS-SQLSVR ではありませんが、標準の SQL サポート形式が機能することを願っています!)
バイトは、AscB/ChrB を介して取得されたバイトの文字列、または「バイト」の配列 (実際には「cbyte」を介して取得されたバイト型のバリアント) として利用でき、配列に格納されます。
最初のオプション: 文字列形式 を使用して、次のように SQL 挿入を作成することに (限定的に) 成功しました。
しかし、文字列のヌルによってフィールド内のデータが切り捨てられ、その他の印刷されない制御文字がデータの処理の邪魔になるのではないかと心配しています。これを回避する方法はありますか?
2 番目のオプション: バイト配列 データを配列に入れるのは簡単ですが、SQL Insert ステートメントに渡す方法がわかりません。12 バイトを渡そうとすると、CAST がデータを整数 (4 バイト) に格納しようとするため、挿入は失敗します。1 バイトを渡すと、次のように機能します。
4 バイトの間は引き続き機能しますが、整数がオーバーフローすると失敗します。また、データを並べ替えます
私はさまざまな回避策を使用しようとしました:
私も同様の組み合わせを試しました:
しかし、これらはすべて失敗します。
理想的には、最大 20 バイトの小さなバイナリ配列 (理想的には 0 ~ 255 の完全なバイト範囲ですが、それより少なくてもかまいません) を受け取り、それらをプレーンな生のバイナリ SQL フィールドに渡すメソッド、任意のメソッドが必要です。
理想的には VBScript/ADO でこれを行う必要がありますが、可能な場合は VB6 ベースのソリューションを使用できます。これを「生の」バイナリとして使用したいのですが、Base64 のような ascii エンコーディングは使用したくありません。
私はしびれるまでグーグルで検索しましたが、SQLのバイナリフィールドに関連するものはまったく見つかりませんでした。
手伝ってくれますか?どんな答えでも大歓迎です。多くのthx。
ms-access - Microsoft Access データベース テーブルの最終変更時刻を検出する
Microsoft Access テーブルが最後に変更された (挿入または更新された) 時期を検出する方法を知っている人はいますか? ADO COM 経由で OLEDB を使用してアクセス データベースとプログラムで通信し、特定のテーブルへの変更を検出する方法を探していました。それらの変更が何であるかを知る必要はありません。変更が行われたということだけです。
delphi - MS Word Ole Automation、ADOおよび外国文字
データベース(ADO / MS Access)からMS Wordドキュメント(Delphi 7)にWideStringテキストをエクスポートしようとしていますが、外国文字が正しく転送されません(つまり、「 č 」ではなく「 è」)。
私もCreateOleObject()
直接使ってみましたが、違いはありません。
私は何が欠けていますか?
ありがとう!
sql - クラシックASPでは、複数の接続を開いたり閉じたりすると、パフォーマンスに大きな影響がありますか?
以下のようなコードスニペットがあり、それぞれが独自の接続を持つ2つの異なる関数にリファクタリングしたいと思います(メンテナンスを改善するため)。
2つの関数(GetClientsとGetDealersなど)がそれぞれ独自の接続を開いたり閉じたりすると、上記のように1つの接続を開いたり閉じたりするだけではなく、パフォーマンスに大きな影響がありますか?もしそうなら、どのようにコードをリファクタリングしますか?
vb6 - SQL Native Client で「非表示の列」を表示する ADO
私は、VB6 とクラシック ASP を使用してレガシー アプリケーションに取り組んでいます。切断された ADO レコードセットを使用してデータをやり取りしています。通常、これは機能します。しかし、最近発生し始めたのは、任意の内部/外部結合であり、ADO は選択可能なレコードにこれらを含めています。そのため、更新する列を指定すると (エラーが発生した場合は主キー列)、間違った列 (同じ名前) が更新されます。ADO が結合されたテーブルの主キーをプルするのは正常なことですが、これのデフォルトでは、ADO はそれらを非表示にします。私たちの場合、ADO はそれらを隠していません。
私が絞り込んだのは、SQL Native Client ドライバーが正しく機能していないということです。SQL Server ドライバー (SQL 2000) に戻すと問題なく動作しますが、SQL Native Client に戻すとすぐに上記の動作が発生します。開いている接続のプロパティとレコードセット自体のプロパティを確認しましたが、それらは 1 つを除くすべてのインスタンスで一致します (SQL ネイティブが隠していないため、意味のある隠し列の数)。
IIS から MSADC フォルダーを削除して再度追加することからすべてを試しました。SQL Native をアンインストールして再インストールしました (その後、最新バージョンにアップグレードしました)。トラブルシューティングの過程で、ODBC 接続を数回再作成しました。この時点で、私は途方に暮れています。
また、追加することの 1 つは、SQL Native Client が他のサーバーで正常に動作し、他の誰もこの問題を抱えていないようです。誰が何が起こっているのか考えているかもしれませんか? ありがとう!
編集:何が起こっているかの例(これは、任意のクエリ(重要な場合はストアドプロシージャ)で発生し、あらゆる種類の1つ以上の結合で発生します)
temp_test で temp_id、temp_value を選択する another_table.temp_id で another_table を内部結合します。
これはadoレコードセットで生成されます:
SQL ネイティブ クライアント
(0) temp_id
(1) temp_value
(2) temp_id (another_tableの主キー)
(3) another_id (さらに別のテーブルの主キー)
SQL Server ドライバー
(0) temp_id
(1) temp_value
SQL Server 2005 では、次のように表示されます: temp_id, temp_value
.net - データセット/データテーブルを Tomcat から .NET アプリケーションに中継する方法は?
Tomcat でホストされているサーブレットから .NET アプリケーションの DataTable にデータを提供する必要があります。.NET アプリケーションが DataTable.ReadXML を使用して pupulate できる XML を単にストリーム バックするのは魅力的です。それは下るのに適切な道ですか?そして少なくとも。Tomcat側でこれを支援できる既存のJavaコンポーネントはありますか?
編集。.NET アプリケーションは、Web アプリケーション/サービスではなく、GUI アプリケーションです。