sql >> データベース >  >> RDS >> Mysql

MySQLデータベースのバックエンドへのフロントエンドとしてMSAccessを使用する際の問題?

    私は同様に機能するアプリケーションを持っていました:MySQLバックエンドへのMSAccessフロントエンド。とても大変だったので、代わりにWin32フロントエンドを作成することになりました。頭のてっぺんから、次の問題が発生しました。

    • ODBCリンクの開発はずっと前に中止されたようです。さまざまなバージョンが浮かんでいます---非常に紛らわしいです。 ODBCリンクはUnicode/UTF8をサポートしていません。また、他にも問題があったことを覚えています(ただし、慎重に構成することで解決できる問題もあります)。
    • データベーススキーマを手動で微調整して、MSAccessと互換性を持たせることをお勧めします。必要な代理キー(つまり、int主キー)についてはすでにわかっていると思います:-)
    • MySQLデータベースのより高度なSQL操作を行うには、パススルークエリを使用する必要がある場合があることに注意してください。
    • 多くのVBAを使用する場合は、フロントエンドファイルが破損する可能性があるため注意してください。データベースを定期的に圧縮し(メインメニュー、[ツール]、[データベースユーティリティ]、[圧縮と復元]などを使用)、オランダ語バージョンを使用しています バックアップの数が必要です。
    • アクセスは大量のネットワークトラフィックを引き起こす傾向があります。本当にたくさん。私はその解決策を見つけることができませんでした。それを監視したい場合は、ネットワークモニターを使用することをお勧めします!
    • Accessは、ブール値を0/-1として格納することを要求します。 IMHO、0 / + 1の方が理にかなっており、MySQLでもデフォルトの方法だと思います。大きな問題ではありませんが、チェックボックスが機能しない場合は、必ずこれを確認する必要があります。

    考えられる代替案の1つは、バックエンド(データを含む)を共有ドライブに配置することです。これは、ヘルプでも十分に文書化されていることを覚えています。 フロントエンドとバックエンドに分割する際の一般的なアドバイス をご覧ください。 および起動時にバックエンドに自動的に再接続するコード ;さらにサンプルコードを送信するか、ここに投稿することもできます。

    それ以外の場合は、MSSQLも検討することをお勧めします。私はそれについての経験はありませんが、MSAccessとの連携がはるかにうまくいくと思います!



    1. Oracleサブクエリは、2レベル上の外部ブロックからの変数を認識しません

    2. SQL Server(T-SQL)でデータベースメールプロファイルを更新する

    3. ブール値のメンバー関数execute()の呼び出し

    4. 結合されたセットにすべての値が含まれている必要がありますが、それ以上の値が含まれている可能性があるSQL