ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

データ定義不一致の確認について、SQL Server

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 | 投稿日時 2012-2-28 15:56
nkmt  長老   投稿数: 1668
Pervasiveの場合、データリポジトリの定義と
実ファイルの定義がちょっとでも違えば
エラーでこけてくれたと思います。

画面全体に
 DbRecs(’1’Dsource,’’)
といった感じで件数表示を沢山並べるだけで、
定義不一致検査が出来たと思います。


SQL Serverの場合、同じ事は出来ないですよね?

Magicのデータリポジトリ上に
 項目Z が新設されているけど、客先のデータリポジトリ上
には、まだその項目定義が済んでいないとします。

 DbRecs(’1’Dsource,’’)などを並べるだけでは
定義不一致検査は無理だという事は理解しております。


Pervasiveの時も客先に入っているプログラムの
バージョンの把握はちゃんと行ってきましたが、
SQL Serverの場合はもっとしっかり行う必要が
ありますよね?
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-29 9:17
pu_mahalo  長老 居住地: 大阪  投稿数: 775
nkmtさん こんにちは  Puです

そこがISAMとRDBの違いでしょうね

逆にスキーマーの定義がRDB側に保持してくれているので
dbさえ復元できれば tbl構造を知る事ができますが
ISAMの場合(Pervasiveなど)TBLだけもらっても
構造がわかりませんし

SQlを記述する時は列名さえわかれば問題ないので
途中で別に列が増えようがAPLのSQL分にはなんら影響でませんので
APLを変更する必要もありません

MagicはMagic内部にもスキーマー定義を保持しているので
RDB側のスキーマーと同期とるのが
面倒ですね
完全分離で行くなら スキーマーの変更はrdbのマネージメントツールで行い
行ったら Magic側では毎回定義取得するって運用になるんですかね

私は面倒なんでMagic側から変更してますが
どの方法が良いのか 私もわかりません

他の開発言語の場合は そんな事ありませんから

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-29 10:21
HAYATO  一人前 居住地: 大阪市淀川区西中島5-9-2  投稿数: 90
NTMTさん、こんにちは
クリエイト文を比較するのが(ツールを使って)一番手っ取り早いと思いますよ。

客先環境のテーブルのクリエイト分をまとめて出力しておいて、
開発環境ではuniPaaSから新しく作ったテーブルのクリエイト文も同様に出力して、リリース前にコンペアかけて比較するようにしています。

MS-SQLの場合、テーブル変更の際に変換用のスクリプトを作れるので、それを保存して客先環境に持っていくようにしています。

投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-29 11:02
nkmt  長老   投稿数: 1668
Puさん HAYATOさん レス誠に有難うございます。

具体的な方法はこれから調べようと思いますが
大変役に立ちました。

変換用のスクリプトを実行するというのも頭にありませんでした。^^;

Magicから実データをリネーム、
旧レイアウトデータからMagicのバッチで新レイアウトのデータ
へ複写とPervasiveの時はやっていたので、そのつもりで
おりました。^^;
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-2-29 11:16
nkmt  長老   投稿数: 1668
自己レスです。

開発環境で変更したデータを把握しておき、
そのデータのCREATEスクリプトを作成。

客先でも同じ事をして、
スクリプト同士を目視比較するのでも
定義のチェックは出来そうですね。

全体的に比較しようと思った場合は、具体的には
どのようなツールを使えばいいのでしょうか?

1番知りたいのは
テーブルレイアウト変更スクリプトの作成方法です。^^;

すみませんがよろしければお教え下さい。

よろしくお願い申し上げます。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-29 11:37 | 最終変更
HAYATO  一人前 居住地: 大阪市淀川区西中島5-9-2  投稿数: 90
nkmtさん、こんにちは

>テーブルレイアウト変更スクリプトの作成方法です。^^;
-----------------------------------------------------
MicrosoftSQL Server Management Studioでテーブルのデザイン(G)で編集するときに、右クリックで[変更スクリプトの作成]ってのが出てきます。

注意点は、ツール(T)⇒オプション(O)⇒Designers の「テーブルの再作成を必要とする変更を保存できないようにする」ってチェックが初期値入っているのを外しておくことです。


ファイルのコンペアは、秀丸の比較モードか、DF.EXE(フリーソフト)を使うと簡単ですよ。

--
HAYATO@アインシュタイン設計社
-----------------------------
「MAGICサルベージサービス」
-----------------------------http://www.dbMAGIC.BIZ

投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-2-29 13:37 | 最終変更
nkmt  長老   投稿数: 1668
HAYATOさん お教え頂きまして有難うございました。
理解出来ました。

SQL Server 2008 R2 EXPRESSを使っています。
Management Studioでツール → オプション →
デザイナの所に、変更スクリプトを自動生成するに
もチェックを付けてみました!

会社PCでレイアウト変更、
そのSCRIPTを自宅PCで実行!というテストを今夜にでも
行ってみたいと思います。

お世話になりました。m(__)m

もっと欲を言えばMagicでデータレイアウトを変更したら
それだけでManagement Studioが勝手に変更スクリプトを
作ってくれるといいと思うのですが。

今の私の理解だと、Magicでレイアウト変更後、
データの自動変換は行わずに、Management Studioでも
レイアウト変更をする必要があるのかな!?と思います。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約