問題タブ [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.
foxpro - クリッパー5.3コードを維持するための今日の最良の方法は何ですか?
DOS、Windows、Linuxに後継製品はありますか?
c# - FoxPro との LINQ?
LINQ を使用して FoxPro データベースにアクセスする合理的な方法はありますか?
indexing - VisualFoxProCompactインデックスファイル形式
Visual FoxProコンパクトインデックス(* .IDX)のファイル形式を理解しようとしています。現在、ガイダンスとしてMicrosoftのドキュメントを参照しています。
インデックスは512バイトノードのBツリーです。各リーフ(「外部」)ノードには、複数のエントリが含まれています。各エントリは、次の4つのデータで構成されています。
- 行番号[固定長]
- 重複するバイト数(ドキュメントではこれを説明していません)[固定長]
- 末尾のバイト数(ドキュメントではこれを説明していません)[固定長]
- キー[可変長]
エントリ(キーなし)は、ノードの先頭、ノードの24バイトヘッダーの直後に格納されます。キーの長さが異なるため、これらのキーはこの場所に含まれていませんが、行番号、重複バイト数、および後続バイト数は長さが固定されています。キーはノードの最後に保存され、逆方向に機能します。例えば:
- 24バイトのヘッダー
- 行番号、重複バイト数、後続バイト数(エントリー#1)
- 行番号、重複バイト数、後続バイト数(エントリー#2)
- 行番号、重複バイト数、後続バイト数(エントリー#3)
- ..。
- キー(エントリ#3)
- キー(エントリ#2)
- キー(エントリ#1)
キーの個々の長さを決定するにはどうすればよいですか?ドキュメントにはこれを指定していないようです。それらは完全に隣接しています(ヌルバイト区切り文字はありません)。
目視検査で手動でキーを分離できます。末尾のバイト数がキーの長さを表しているのではないかと思いました。ただし、この検査で決定された長さとは相関していませんでした。
FoxProのファイル形式はxBase標準から派生していると思います。おそらくこれはベルを鳴らしますか?
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 のデスクトップ マシンを持っていますが、同じエラーは表示されません。両方のマシンでアバスト アンチウイルスを実行しています。
vb.net - VB.net 2005 で FoxPro テーブルを開く
oledb 接続を使用して、vb.net で foxpro フリー テーブルを開く必要があります。
しかし...列名だけを取得する必要があります。何かを「選択」する必要はありません。すべての空きテーブルを動的に参照し、すべてのファイルからすべての列のリストを設定し、各列の説明を含む別の空きテーブルに xref しようとしています。
私は現在、実用的なモデルを持っていますが、そうする必要があります...
しかし、最大のテーブルでは、最初のレコードを読み取るだけで 2 分以上かかり、250 を超えるテーブルがあります。全体で、15 ~ 20 分かかります。
または、「ORDER BY」を使用せずにテーブルの最初のレコードのみを取得する別の方法はありますか?
これが私がこれまでに持っているものです。「ファイル」はパラメーターとして渡されます。
「C:\data\table1.dbf」のような情報が含まれます
次に、データ テーブル (dt) を取得し、ループして列情報を取得します。
データセットを作成し、ウィザードを使用してディレクトリからすべてのテーブルをロードするときに、Visual Studio と同じくらい速く処理したいと考えています。テーブルからデータを読み取ることなく、すべての列情報を非常に迅速に見つけることができます。
さらに情報が必要な場合はお知らせください。
ありがとう。
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) の両方が高速で、適切に設計されているようです。ただし、データベース サーバーに大きな負荷がかかる場合があります。
私たちが試すことができることについて誰か提案があれば...私たちに知らせてください!
c# - .NET を使用して FoxPro メモ フィールドのデータを抽出するにはどうすればよいですか?
FoxPro データベースを XML に変換する C# プログラムを作成していますが、メモ フィールドが空白であること以外はすべて機能します。そのビットを変換するために欠けているものはありますか?
C# .Net 3.5 SP1、Visual FoxPro 9 SP 1 OLE DB ドライバーを使用しています。他のすべてのデータが適切にプルされているため、接続文字列は問題ありません。
FoxPro データベースを SQL Server に変換したところ、メモ欄も空欄になってしまい、2 回変換できませんでした。
foxpro - foxpro の一般フィールドからファイルを抽出できますか?
VFP 9 アプリケーションを SQL Server に移植しています。VFP アプリには、「一般」フィールドを含むいくつかのテーブルがあります。フィールドにクエリを実行するとバイト配列が取得され、それをディスクに保存すると、内部を見て、それが Word ドキュメントや Paint BMP などであることがわかります。
いろいろ読んでみると、general フィールドは独自のフォーマットであり、ドキュメントのプレビューのサムネイル画像が含まれていることがわかりました (特にそうです)。
最初にファイルの種類を抽出し、次に元のファイルとして保存できる実際のファイル データを抽出するコードを教えてください。(プレビュー画像を取得するのもいいでしょう。)
どうやら昔、誰かが foxpro で GENTOFIL.PRG というプログラムを書きました。これは、一般的なフィールドをファイルに変換するように聞こえます。しかし、それを見つけようとするとき、グーグルはあまり役に立ちません!
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 を使用しています)
データは常に少し古くなっているため、インスタンスではデータの一貫性は特に重要ではないことを付け加えておきます。