1

転送メカニズムを FILESTREAM 列で動作させることができた人はいますか?

私のコードは次のとおりです。

Transfer transfer = new Transfer(sourceDatabase);
transfer.CopyAllObjects = true;

transfer.DropDestinationObjectsFirst = true;
transfer.CopySchema = true;
transfer.CopyData = false;
transfer.CopyAllTables = true;
transfer.Options.WithDependencies = true; 

transfer.DestinationServer = server.Name;
transfer.DestinationDatabase = targetDatabaseName;

transfer.TransferData();

ファイル ストリーミング列を含むテーブルを作成すると、次のエラー メッセージが表示されます。

「エラー: errorCode=-1073548784 description=クエリの実行 ... 次のエラーで失敗しました:「FILESTREAM 列を含むテーブルには、NULL 以外の一意の ROWGUID 列が必要です。」. 考えられる失敗の理由: クエリの問題、「ResultSet」プロパティが正しく設定されていないか、パラメーターが正しく設定されていないか、接続が正しく確立されていません。

ソース テーブルには確かにこれらのプロパティが設定されているため、これは奇妙です。転送プロセスの一部を見逃していますか?

4

1 に答える 1

1

奇妙なことに、これはうまくいきます:

//transfer.TransferData();

System.Collections.Specialized.StringCollection script = transfer.ScriptTransfer();

Microsoft.SqlServer.Management.Smo.Database targetDatabase = server.Databases["dbname"];
targetDatabase.ExecuteNonQuery(script);

誰でもこれに光を当てることができますか?転送が失敗するのに、スクリプトの生成と実行は正常に機能するのはなぜですか?

于 2010-08-03T12:44:39.163 に答える