問題タブ [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.
delphi - MS Access テーブルに 800000 レコードを挿入するにはどうすればよいですか?
MS Access テーブルに 800000 レコードを挿入する必要があります。Delphi 2007 とそのTAdoXxxx
コンポーネントを使用しています。テーブルには、いくつかの整数フィールド、1 つの浮動小数点フィールド、および 1 つの文字のみを含む 1 つのテキスト フィールドが含まれています。整数フィールド (autoinc ではない) の 1 つに主キーがあり、別の整数フィールドと float フィールドに 2 つのインデックスがあります。
を使用したデータの挿入にはAdoTable.AppendRecord(...)
10 分以上かかります。これは、ユーザーがプログラムで新しいデータベースの使用を開始するたびに行われるため、許容できません。データが別のデータベース ( からはアクセスできないADO
) から取得されているため、テーブルを事前入力できません。
tAdoCommand
レコードをタブ区切りのテキスト ファイルに書き込み、オブジェクトを使用して実行することで、約 1 分に短縮できました。
しかし、私はこれのオーバーヘッドが好きではありません。
もっと良い方法があるに違いない、と私は思う。
編集:
いくつかの追加情報:
- MS Access を選択した理由は、ターゲット マシンに追加インストールする必要がなく、データベース全体が簡単にコピーできる 1 つのファイルに含まれているためです。
- これはシングル ユーザー アプリケーションです。
- データは一度だけ挿入され、データベースの存続期間中は変更されません。ただし、テーブルには、別のデータベースの対応するレコードがユーザーによって処理されたことを示すフラグとして使用される 1 つの追加フィールドが含まれています。
- 1 分(最大 3 分も) で問題ありませんが、私のソリューションは機能しますが、複雑すぎるように思われるので、もっと簡単な方法があるはずだと考えました。
- データが挿入されると、テーブルのパフォーマンスは非常に良好です。
- Access データベースを操作するプログラムの機能の計画/実装を開始したとき、テーブルは必要ありませんでした。それが必要になったのは、顧客から別の機能が要求されたときだけでした。(いつもそうじゃない?)
編集:
これまでに得たすべての回答から、Access テーブルに大量のデータを挿入するための最速の方法を既に理解しているようです。皆さんのおかげで、私はあなたの助けに感謝します.
asp-classic - コード批評-私はRubeGoldbergマシンを作成していますか?
ADOを介してデータベーステーブルに対してかなりの量の呼び出しを行っています。物事をDRYに保つという精神で、レコードセットから値の配列を返す次の関数を作成しました。これはうさぎの頭脳ですか?私は主にコンボボックスの値などのセットを取得するために使用しますが、巨大な値には使用しません。使用例(簡潔にするためにエラー処理を削除):
次に、返された配列を使ってやりたいことを何でもします。
私が持っている質問は次のとおりです。すべてのレコードセットオブジェクトの作成/開く/エラー処理をこのような独自の関数呼び出しに抽象化することは意味がありますか?私はRubeGoldbergマシンを構築していますか?このコードを管理している人は誰でも私の名前を呪うでしょう?
関数で実行するのではなく、それを吸い上げていくつかのマクロを記述し、ADO接続コードを吐き出す必要がありますか?
私はaspに非常に慣れていないので、その機能/ベストプラクティスに穴が開いているので、どんな入力でもいただければ幸いです。
iis-7 - 「AspCompat」属性の問題
クライアントのウェブサイトの 1 つ (コーディングはしていません) が、昨日、ホストによって新しいサーバーに移行されました。aspcompat 属性を使用するこの aspx コードはすべて爆撃します -
<%@ Page Language="VB" AspCompat="true" %> '次に、ADO データベース接続オブジェクトを使用して、サーバー上にデータベース接続オブジェクトを作成する必要があります。'ADO 接続オブジェクトを作成します adoCon = Server.CreateObject("ADODB.Connection")
'DSN 接続 adoCon.Open ("DSN=Application") を使用して、Connection オブジェクトへのアクティブな接続を設定します
したがって、彼は明らかに古い ADO オブジェクトを使用しており、それが機能するために COM 互換性を利用しています。
このフォルダー レベルで新しいアプリケーション プールをセットアップして、クラシック パイプラインを使用するように設定しようとしましたが、どちらも役に立ちませんでした。
彼の ADO コードをすべて ADO.NET に書き直す以外に、彼を稼働させるにはどうすればよいでしょうか? これは現時点で彼の制作上の問題であるため、彼にとっての時間は非常に重要です。
ありがとう!
asp-classic - ADO varchars に制限された文字はありますか?
イントラネットには、ASP/vbscript を使用して構築された単純なファイル ブラウザーがあります。ファイルはスクリプトによって読み取られ、(データベースに接続されていない) ADO レコードセットに追加されるため、コンテンツを簡単に並べ替えることができます。
ある特定のフォルダーでエラーが発生しています。
これは行を指します
上記のコードで。
これは長いファイル名が原因だと最初は考えていましたが、ディレクトリ内のすべてのファイルの長さを確認しました。かなり長いものもありましたが、すべて上記の 255 文字の制限を下回っていました (最大は 198 文字です)。
問題のフォルダーには 2000 近くの PDF が含まれており、内容を変更する権限がなく、読むだけです (テクニカル ライブラリです)。ファイルには、「ID# - 論文タイトル」という命名規則があります。一部には、'、&、(または) などの特殊文字が含まれています。これらの一部が問題を引き起こしている可能性はありますか? 以前にそのような問題があったことを覚えていません。Google で ADO の特殊文字を検索してみましたが、関連するものは見つかりませんでした。
ありがとう :-)
.net - ADO.NET - データリーダーの値を取得するためのベスト プラクティスは何ですか?
データリーダーの値を取得するためのベストプラクティスは何だろうと思っています。例えば:
私はこれをやっています:
しかし、他の人がしていることに気づきました:
2番目の方法の利点を知りたいと思っています
vba - Word で VBA から Access QueryDefs を実行する
Access でパラメーター化されたクエリを作成しており、Word の VBA モジュールの ADO コードから呼び出したいと考えています。ただし、パラメーター化されたクエリを呼び出すための構文はわかりません。適切なコード リファレンスがオンラインで見つからないようです。
Firstname と Lastname をパラメーターとして受け入れる qryGetRecordByFirstLast がある場合、VBA モジュールから ADO でこの実行をどのようにコーディングすればよいですか?
sql - ASPページからSQLサーバーにアクセスする方法
バックアップ目的で別のコンピューターに複製する必要がある、従来の自家製のタイムシート システム (ASP、Microsoft SQL Server 2005) があります。(私はこのことについてほとんど知らないので、優しくしてください)
ほとんどの部分が整っています (IIS、SQL Server、テーブルのインポート/作成)。しかし、タイムシート ページにアクセスするための ASP ページは、SQL サーバーへのアクセスを妨げています。
クラッシュしている行は次のとおりです: conn.open Session("sConnStr")
これは接続文字列です。
これはエラーです:
エラーの種類: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません /mydir/mypage.asp、行 17 <== 上記に表示
Server Management Studio を使用して、Windows を認証として指定した SQL Server 上のデータベースにアクセスできることに注意してください。ただし、SQL 認証を使用しようとすると、「ユーザーは信頼できる SQL 接続に関連付けられていません」というメッセージが表示されます。
質問:
- SQL Server 2005 でユーザーとパスワードをどのように設定しますか?
- デフォルトのドライバーとは何ですか? また、それを取得/セットアップする必要がありますか?
- データ ソース名 (上記の接続文字列の "MYDATABASE" を参照) について話す場合、Management Studio オブジェクト エクスプローラーの "データベース" の下に表示されるエントリの 1 つについて話しているのでしょうか?
回答ありがとうございます。これまでのところ、運がありません。これを行うことで、管理スタジオのオブジェクトエクスプローラーを介してデータベースにアクセスできました。
-
....解決策 この問題を解決するには、指示に従ってユーザー認証を設定します。SQL Server 2000:
[スタート] > [プログラム] > [Microsoft SQL Server] > [Enterprise Manager] に移動します サーバー名を右クリックし、[プロパティ] > [セキュリティ] を選択します [認証] で、[SQL Server と Windows] を選択します これを有効にするには、サーバーを停止して再起動する必要があります
SQL Server 2005:
[スタート] > [プログラム] > [Microsoft SQL Server 2005] > [SQL Server Management Studio] に移動します サーバー名を右クリックし、[プロパティ] > [セキュリティ] を選択します [サーバー認証] で、[SQL Server と Windows 認証モード] を選択します サーバーを停止してから再起動する必要があります。効果..."
-
所有者をデータベースへのアクセスに使用されている所有者に変更します
Microsoft SQL Server Management Studio
DBを右クリックし、所有者を変更します
しかし、私はまだまったく同じエラーメッセージを受け取っています!
sql - SQL データの順序を行から列に変更するにはどうすればよいですか?
Web ページのACROSS 3 列のデータベースからアルファベット順にデータを書き込むコードのスニペットがあります。
例:
代わりに、次のように列をアルファベット順に表示する必要があります。
約 100 のデータ結果があることを念頭に置いて、最初の 1/3 を 1 列目に降順で表示し、次に新しい列を開始して続行し、それを 3 つの等しい部分に分割します。
行を並べ替えるコードは次のとおりです。
助けてくれてありがとう。私はコードを書かないので、何時間もこれを変更しようとしましたが、成功しませんでした。
ms-access - vbsを使用して、アクセスdbテーブルを自動的にクエリしてExcelに変換します
Access データベースがあります。Data_01
毎日、VBScript の ADO を使用して、テーブルを自動的にクエリし、結果を Excel スプレッドシートにエクスポートしたいと考えています。現在、私の ADO のスキルは不足しています。
- 昨日と今日からアイテムを選択する日時列があります。GUI クエリでは、基準は次のようになります。
Between Date() And Date()-1
PartNumber
特定の部品番号を選択したい列があります。GUI クエリでは、基準は次のようになります。Series 400
- 次に、項目 1. と 2. の基準に基づいて他の列を選択したいと思います。
- 列のヘッダー行も取得したいと思います。
現在、テーブル全体を Excel にエクスポートしてから、VBScript を使用して必要な列を選択し、不要なデータをすべて削除してから、最終出力ファイルの列を自動調整しています。これは、プロセッサと時間を多少消費するようです。