2

シンプルな ms-access 2003 クライアント サーバー デスクトップ アプリケーションを、ms-access インターフェイスと sybase 10 または 11 sql Anywhere バックエンド データベースを備えたアプリケーションに移行することを検討しています。なんで?私がしたいこと: - アクセスがフォームやレポートを作成できる簡単で迅速な方法を活用する (私はすでに慣れ親しんでいます ... 学習曲線が少ないことを意味します) - sybase dbs ができる信頼性が高く効率的な方法を活用しますmobillink を使用してさまざまなタイプのネットワーク間でデータを同期するように設定します。

バックエンドでデータが最終的に 2GB を超えるようになるため、アクセス レプリケーションは使用したくありません。

だから、 - このアプローチの長所と短所は何ですか? - VBA で DSN または接続文字列を使用して sybase データベース テーブルにリンクして続行できますか? - ms-access フォームを介したレコードのナビゲートおよび更新/削除には、特別な考慮事項が必要ですか?

助けてくれてありがとう

4

2 に答える 2

1

両方を行ったので、リンクテーブルオプションを優先することを心からお勧めします。

過去に、MS-SQLServerバックエンドへのAccessフロントエンドを使用しました。主に、ローカルアクセステーブルを操作するのと同じですが、いくつかの例外があります。私はSQLAnywhereを使用していませんが、MS_SQLには、たとえばAutonumberフィールド(Accessとは異なる動作)などの問題がありました。

私は最近、MS-SQLバックエンドへのAccessフロントエンドにも取り組んでおり、テーブルベースの関数とストアドプロシージャを優先して、通常のアクセス接続方法は使用されていませんでした...これはコーディングにとって絶対的な悪夢でした、そして、AccessをRadツールとして使用することのすべての利点をほぼ相殺しました。これをもう一度行う場合は、代わりにAccessを忘れて、フロントエンドにVB.Netを使用することを主張します。最近のMSReportServerがいかに優れているかを考えると、Accessを使用する理由はほとんどありません。

于 2009-05-14T23:50:18.370 に答える
0

はい、Sybaseが互換性のあるODBCドライバーを提供していると仮定すると、SybaseデータベースにODBCリンクテーブルを使用できるはずです。ただし、DSNを使用せず、代わりにDSNなしの接続を使用することをお勧めします。プログラミングPCでDSNを定義し、テーブルをリンクした後、DougSteeleのコードを実行してDSNのない接続文字列に変換します

アプリはほとんど正常に機能するはずですが、微調整が必​​要な場合があります。パフォーマンスの向上は期待しないでください。実際、パフォーマンスが低下する可能性が高くなります。次に、パフォーマンスが低下しているアプリの部分を調べて、サーバーバックエンドでそれらをより適切に機能させる方法を評価できます。通常、これには、サーバー上でのビューの作成、ストアドプロシージャの記述(レコードの挿入や更新など)、またはパススルークエリの使用が含まれます(JetがSQLにアクセスせず、実行のためにサーバーに渡すだけです)。

これは複雑になる可能性がありますが、初めてアップサイズしたときに思ったほど難しくはないことがわかりました。

于 2009-05-13T22:45:30.917 に答える