私たちは、いくつかの基本的なAPIを使用して生のクエリをMS SQL Serverに送るC++アプリケーションを持っています。私たちのプログラムのさまざまな翻訳単位には、C++の文字列として1-2行の簡単なクエリがあり、今は20行以上にわたるより複雑なクエリが表示されます。C++アプリケーション用のSQLコードを格納する場所は?
大規模なクエリ、特に20行以上のクエリは、定数文字列としてC++コードに埋め込むべきではないと思います。私はこれらをC++アプリケーションでオンデマンドでロードされる別々のテキストファイルにプルすることを提案したいと思いますが、これが最善のアプローチかどうかはわかりません。
このような状況の典型的な選択肢は何ですか?私は間違いなく改善が必要だと感じている、私はちょうどSQLのクエリをデータファイル(テキストファイル)に移動することが最善の考えであるかどうか分からない。
ストアドプロシージャ?リモートオブジェクトのようにDBを自分のメソッドで扱いますか? – MatBailie
あなたはそれらを分けることによって正確に何を得たいですか?それらをロード/実行するコードに比べて頻繁に変更されますか?おそらく、データベース自体に格納されるストアドプロシージャに変換できますか?彼らの詳細は周囲のコードと密接に関連しているのですか?あるいは、そのコードが比較的抽象的なブラックボックスとしてそれらを合理的に扱うことができますか? –