問題タブ [foxpro]

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.

0 投票する
11 に答える
3731 参照

foxpro - クリッパー5.3コードを維持するための今日の最良の方法は何ですか?

DOS、Windows、Linuxに後継製品はありますか?

0 投票する
4 に答える
3940 参照

c# - FoxPro との LINQ?

LINQ を使用して FoxPro データベースにアクセスする合理的な方法はありますか?

0 投票する
4 に答える
1830 参照

indexing - VisualFoxProCompactインデックスファイル形式

Visual FoxProコンパクトインデックス(* .IDX)のファイル形式を理解しようとしています。現在、ガイダンスとしてMicrosoftのドキュメントを参照しています。

インデックスは512バイトノードのBツリーです。各リーフ(「外部」)ノードには、複数のエントリが含まれています。各エントリは、次の4つのデータで構成されています。

  • 行番号[固定長]
  • 重複するバイト数(ドキュメントではこれを説明していません)[固定長]
  • 末尾のバイト数(ドキュメントではこれを説明していません)[固定長]
  • キー[可変長]

エントリ(キーなし)は、ノードの先頭、ノードの24バイトヘッダーの直後に格納されます。キーの長さが異なるため、これらのキーはこの場所に含まれていませんが、行番号、重複バイト数、および後続バイト数は長さが固定されています。キーはノードの最後に保存され、逆方向に機能します。例えば:

  • 24バイトのヘッダー
  • 行番号、重複バイト数、後続バイト数(エントリー#1)
  • 行番号、重複バイト数、後続バイト数(エントリー#2)
  • 行番号、重複バイト数、後続バイト数(エントリー#3)
  • ..。
  • キー(エントリ#3)
  • キー(エントリ#2)
  • キー(エントリ#1)

キーの個々の長さを決定するにはどうすればよいですか?ドキュメントにはこれを指定していないようです。それらは完全に隣接しています(ヌルバイト区切り文字はありません)。

目視検査で手動でキーを分離できます。末尾のバイト数がキーの長さを表しているのではないかと思いました。ただし、この検査で決定された長さとは相関していませんでした。

FoxProのファイル形式はxBase標準から派生していると思います。おそらくこれはベルを鳴らしますか?

0 投票する
1 に答える
4279 参照

foxpro - VFP 8 の Vista 64 ビットで SET PRINTER TO を使用するときにエラー 1958 を修正する方法

次のコード行を実行すると、VFP 8 アプリケーションがエラー 1958 を返します。これは、「プリンター ドライバーの読み込みエラー」です。

お客様の Vista Business 64 ビット ラップトップで。HP1200 は、HP ビジネス インクジェット モデル 1200 です。

お客様は、HP の最新の 64 ビット ドライバーを使用して、プリンターを取り外して再インストールしました。また、新しい Generic / Text Only プリンターを FILE: ポートに追加して、代わりに使用しようとしましたが、同じエラーが発生します。したがって、HP プリンター ドライバーに固有のものではありません。

SET PRINTER TOまた、行を削除して aREPORT FORMコマンドを実行して、デフォルトのプリンターに移動しようとしましたが、出力が得られません。

顧客は同じプリンタとドライバがインストールされた 64 Vista Business のデスクトップ マシンを持っていますが、同じエラーは表示されません。両方のマシンでアバスト アンチウイルスを実行しています。

0 投票する
2 に答える
4649 参照

vb.net - VB.net 2005 で FoxPro テーブルを開く

oledb 接続を使用して、vb.net で foxpro フリー テーブルを開く必要があります。

しかし...列名だけを取得する必要があります。何かを「選択」する必要はありません。すべての空きテーブルを動的に参照し、すべてのファイルからすべての列のリストを設定し、各列の説明を含む別の空きテーブルに xref しようとしています。

私は現在、実用的なモデルを持っていますが、そうする必要があります...

しかし、最大のテーブルでは、最初のレコードを読み取るだけで 2 分以上かかり、250 を超えるテーブルがあります。全体で、15 ~ 20 分かかります。

または、「ORDER BY」を使用せずにテーブルの最初のレコードのみを取得する別の方法はありますか?

これが私がこれまでに持っているものです。「ファイル」はパラメーターとして渡されます。
「C:\data\table1.dbf」のような情報が含まれます

次に、データ テーブル (dt) を取得し、ループして列情報を取得します。

データセットを作成し、ウィザードを使用してディレクトリからすべてのテーブルをロードするときに、Visual Studio と同じくらい速く処理したいと考えています。テーブルからデータを読み取ることなく、すべての列情報を非常に迅速に見つけることができます。

さらに情報が必要な場合はお知らせください。

ありがとう。

0 投票する
4 に答える
13772 参照

sql-server - SQL Server 2005 データベースとの ODBC 接続が失われる

クライアントの 1 つは、SQL Server 2005 バックエンド上でアプリケーション (FoxPro 9) を実行しています。断続的に、SQL Server データベースとの ODBC 接続が失われています。以下は初期エラー情報です。

エラー メッセージ: 接続エラー: [Microsoft][ODBC SQL Server ドライバー][DBNETLIB]ConnectionRead (recv())。

ODBC エラー メッセージ: [Microsoft][ODBC SQL Server ドライバー][DBNETLIB]ConnectionRead (recv())。

SQL 状態: 01000

ODBC エラー番号: 10054

ODBC ハンドル: 1

FoxPro エラー番号: 1526

コマンドでこのエラーを再現することはできません。私たちは何度も解決策を試しましたが、役に立ちませんでした。私たちが見つけたそのようなハードウェア ベース ソリューションの 1 つは、http ://support.microsoft.com/kb/942861/en-us に記載されています。

これについて言及するのは、これまで見てきたものとほぼ完全に一致するからです。ただし、その投稿 (およびこの投稿http://support.microsoft.com/kb/948496 )に記載されているすべての回避策を実装しましたが、問題は引き続き発生します。

この問題は、実行時間の長いクエリの実行後に現れるようですが、アプリケーションまたは SQL Server からタイムアウト エラーを受け取っていません。プログラムの実行中にアイドル タイムアウトが発生することがあるからです。

私はハードウェアの専門家ではありませんが、ネットワークとサーバー (Windows Server 2003) の両方が高速で、適切に設計されているようです。ただし、データベース サーバーに大きな負荷がかかる場合があります。

私たちが試すことができることについて誰か提案があれば...私たちに知らせてください!

0 投票する
3 に答える
6298 参照

c# - .NET を使用して FoxPro メモ フィールドのデータを抽出するにはどうすればよいですか?

FoxPro データベースを XML に変換する C# プログラムを作成していますが、メモ フィールドが空白であること以外はすべて機能します。そのビットを変換するために欠けているものはありますか?

C# .Net 3.5 SP1、Visual FoxPro 9 SP 1 OLE DB ドライバーを使用しています。他のすべてのデータが適切にプルされているため、接続文字列は問題ありません。

FoxPro データベースを SQL Server に変換したところ、メモ欄も空欄になってしまい、2 回変換できませんでした。

0 投票する
2 に答える
5776 参照

foxpro - foxpro の一般フィールドからファイルを抽出できますか?

VFP 9 アプリケーションを SQL Server に移植しています。VFP アプリには、「一般」フィールドを含むいくつかのテーブルがあります。フィールドにクエリを実行するとバイト配列が取得され、それをディスクに保存すると、内部を見て、それが Word ドキュメントや Paint BMP などであることがわかります。

いろいろ読んでみると、general フィールドは独自のフォーマットであり、ドキュメントのプレビューのサムネイル画像が含まれていることがわかりました (特にそうです)。

最初にファイルの種類を抽出し、次に元のファイルとして保存できる実際のファイル データを抽出するコードを教えてください。(プレビュー画像を取得するのもいいでしょう。)

どうやら昔、誰かが foxpro で GENTOFIL.PRG というプログラムを書きました。これは、一般的なフィールドをファイルに変換するように聞こえます。しかし、それを見つけようとするとき、グーグルはあまり役に立ちません!

0 投票する
5 に答える
787 参照

sql - ライブ環境で、ある SQL データベースから別の SQL データベースに効果的にデータを変換する

データベースが少し乱雑な状況になっています。

私たちのメインのバックオフィス システムは、ローカル データを使用して Visual Fox Pro で作成されています (はい、知っています!)。

ウェブサイトのデータを効果的に扱うために、定期的にデータを SQL データベースにエクスポートすることを選択しました。ただし、これを行うプロセスでは、基本的に毎回テーブルがクリアされ、再挿入が行われます。

これは、2 つの SQL データベースがあることを意味します。1 つは FoxPro エクスポート プロセスが書き込むデータベースで、もう 1 つは Web サイトが読み取るデータベースです。

この質問は、ある SQL データベースから別の SQL データベースへの変換に関するものです (SqlFoxProData -> SqlWebData)。

特定のテーブル (メイン アプリケーション テーブルの 1 つ) については、このプロセス中にさまざまなデータ変換が行われるため、自己結合を使用した簡単な UPDATE、INSERT、および DELETE ステートメントではなく、代わりにカーソルを使用する必要があります ( !)

これは何ヶ月もうまく機能していますが、現在、更新が行われているときにパフォーマンスの問題が発生し始めています (これは日中に定期的に発生する可能性があります)。

基本的に、SqlFoxProData.ImportantTable から SqlWebData.ImportantTable を更新しているときに、ライブ Web サイトで接続タイムアウト/デッドロック/その他の問題が発生することがあります。

クエリの最適化、キャッシュなどに懸命に取り組んできましたが、データを更新するための別の戦略を探しているところまで来ました。

頭に浮かんだ 1 つのアイデアは、ImportantTable の 2 つのコピー (A と B) を用意し、どのテーブルが現在「アクティブ」であるかという概念を持ち、非アクティブなテーブルを更新してから、現在のアクティビティ テーブルを切り替えることです。

つまり、ImportantTableB を更新している間に、ImportantTableA から Web サイトを読み取り、その後、ImportantTableB から読み取るように Web サイトを切り替えます。

質問は、これは実現可能であり、良い考えですか? 私は以前にそのようなことをしたことがありますが、最適化/インデックス作成などに必ずしも良いとは確信していません.

任意の提案を歓迎します。これが厄介な状況であることはわかっています...長期的な目標は、FoxPro アプリケーションが SQL を指すようにすることです。

(役立つ場合は、SQL 2005 を使用しています)

データは常に少し古くなっているため、インスタンスではデータの一貫性は特に重要ではないことを付け加えておきます。