データベースがどのように構造化されているか確認するには?私たちのソース管理は過去に非常に弱かったので、現在のバージョンのC++プログラムで必要とされている列やテーブルが欠落しているデータベースを使用して、数多くのプロダクションインストールを行っています。私は、起動時にデータベースが期待どおりに構築されていることを確認するために私のアプリのチェックをしたいと思っています。理想的には、これはSQL、Oracle、Access、MySql DBで機能します。C++のデータベース構造をプログラムで確認する
答えて
難易度は、クロスDBMSにあるようです。 ODBCドライバは、すべてのデータベースにわたって必要な機能のほとんどを提供します。 この状況では、ODBC SQLTablesとSQLDescribeColumnを使用して、データベースのすべてのテーブル、カラム、およびインデックスの定義を抽出し、それを既知のに対して実行されるプロセスの出力と比較しました。データベース。
構造を検証したいだけなら、論理的に列と索引を追加してデータベースを修復するコードは簡単ですが、少し難しくなります。
SQLを使用してデータベースを照会できると仮定すると、DESCRIBE SQLステートメントを使用して、探しているテーブルの説明を要求できます。
DESCRIBE table1;
これは、あなたが、例えばフィールドのリスト、そのタイプ、およびその他の情報で提供します
...それが正しいかどうかを分析するために記述を通じて確認するようにコードを使用します
Field |Type |NULL |Key |Default| Extra
Col 1 |int(11) |NO |PRI |NULL | auto_increment
Co1 2 |time |No | |NULL |
この表を確認することができます。
あなたのデータベースが '記述'をサポートしていない場合、それらの多くには、そのデータベース内のすべてのテーブルの詳細を取得するためにクエリできる 'マスター'テーブルもあります。 – Jay
"起動時にデータベースが構造化されていることを確認するためにアプリをチェックしたいと思います。"
これは解決すると思われることは何ですか?
データベースがあなたのプログラムが期待している方法で構造化されていない場合、私はあなたのプログラムがほぼ確実に失敗すると確信しています。
あなたがチェックをすることができれば(ここで示唆されているものをはるかに上回ることができると確信しています)、それ以外にあなたのために残されていることは他にありますかあなたのプログラムを中止するには、 "期待どおりにデータベースを動かすことはできません"と言いましたか?
結果は、両方の状況でほぼ同じになることが保証されています。プログラムは実行されません。 「期待どおりに構造化されていないデータベース」で問題が発生している場合は、プロセス全体を確認する必要があります(また、障害を修正する必要があります)。ソフトウェアは "それ自身の世界で"生きておらず、どちらのデータベースも存在しません。
インストールを行う人がそれを再現するように、プログラムはすぐにエラーメッセージを表示することがあります。私はそれを生産のラインのどこかに壊すことは望んでおらず、誰かがそれを把握する必要がある技術サポートコールをもたらします。 – JonF
- 1. C#プログラムの構造
- 2. ルックアップテーブルをデータベースからC#プログラムのデータ構造にロードする
- 3. トライ構造のアポストロフィを確認する
- 4. Cプログラム内のすべての構造体の最適なパッキングを確認するツール
- 5. Cプログラムのセグメンテーションフォルト(構造体を使用)
- 6. ツリーデータ構造のデータベース構造
- 7. プログラム内でデータベースやテーブル構造を使用する
- 8. プログラムの構造ですか?
- 9. mysqlのデータベース構造(sqlcompare alikes)を比較するプログラム?
- 10. プログラムでRubyの構文を確認する
- 11. 予想される構造のXMLを確認する
- 12. PHPのウェブサイトのフレームワークの質問 - 構造を確認する
- 13. openpyxlを使用してスプレッドシートの構造を確認する
- 14. 構造体と関数をC言語で記述するプログラム
- 15. あるデータベース構造から別のデータベース構造への移行
- 16. Rubyプログラムの構造
- 17. Rubyプログラムの構造
- 18. アプリケーションのクラス構造とデータベース構造
- 19. C#プログラムをアップデートするFTPサーバで確認する
- 20. 未確認のデータベース構造でPHPアプリケーションをリファクタリングするにはREST Webサービスを使用しますか?
- 21. データベース構造
- 22. Firebaseデータベース構造
- 23. データベース構造
- 24. C++での構造*
- 25. C++での構造
- 26. データベース構造のフィードバック
- 27. MYSQLのデータベース構造
- 28. CMSのデータベース構造
- 29. Djangoでデータベース構造を設計する
- 30. コマンドラインからのC#構文の確認
これは本当にC++とは関係ありません。正しく理解すれば、特定のスキーマに対して実際のデータベース・インスタンスを移植可能に検証する方法を知りたいとします。 C++タグを削除し、SQLタグを追加し、質問を編集する方がよいでしょう。 –