0

SMOを使用してスクリプト化するテーブル「foo」があるとします。生成されたスクリプトでテーブルが「foo2」などの別の名前を持つようにする方法はありますか?

Database db = sqlServer.Databases["testdb"];
Table foo = db.Tables["foo"];
foo.Name = "foo2";

これを行うと、foo.Nameを設定しようとしたときにこの例外が発生します。

「オブジェクトはコレクションのメンバーであるため、このオブジェクトに対して操作を実行できません。」

SMOでこれを行う方法はありますか?

4

3 に答える 3

1

上記と同じ方法を使用している場合、SMO を使用して列の名前を変更する方法を見つけようとしている私のような人のために

foo.Name = "foo2";

このスレッドで同じ例外メッセージが表示されます。列の名前を変更するには、単に移動する必要があります

foo.Rename("foo2");

詳細については、 MSDNを参照してください。

于 2012-04-24T02:24:10.170 に答える
0

Scriptメソッドの出力を文字列変数に入れ、Replaceを使用して名前を置き換える必要があります。

于 2009-01-16T19:09:15.173 に答える
0

新しい名前でメモリ内に新しいテーブルを作成し、そのテーブルをスクリプト化できます。

テーブルをコピーするコードは、SMO を使用したテーブルのコピーで見つけることができます。

新しいテーブルで Create() を呼び出す代わりに、単に Script() を呼び出す必要があります。

于 2009-12-11T11:56:14.793 に答える