WebMatrix DotNetNuke サイトを共有ホスティング環境に公開しようとしています。ファイルは問題なく公開されますが、データベースの公開によって問題が発生します。
WebMatrix パブリッシング ログの抜粋を次に示します (実際の SQL ユーザー名と SQL ホストを編集しました - [角かっこ] 内のもの)。
02:03:59: dbFullSql を追加しています (ユーザー ID=[ユーザー名];データベース=[データベース名];サーバー=[サーバー])。 02:03:59: データベース '[dbname]' を作成できませんでした。 02:03:59: オブジェクト dbFullSql (ユーザー ID=[ユーザー名];データベース=[dbname];サーバー=[サーバー]) で操作「追加」を再試行しています。2 の 1 を試行します。 02:03:59: データベース '[dbname]' を作成できませんでした。 02:03:59: オブジェクト dbFullSql (ユーザー ID=[ユーザー名];データベース=[dbname];サーバー=[サーバー]) で操作「追加」を再試行しています。2/2 を試行します。 02:03:59: 公開できません。 02:03:59: 公開できません。公開できません。 02:03:59: エラーの詳細: 02:03:59: (06/02/2011 02:03:59) リモート コンピューターで要求が処理されたときにエラーが発生しました。 02:03:59: Microsoft.Web.Deployment.StatusThreadHandler.CheckForException() で 02:03:59: Microsoft.Web.Deployment.AgentClientProvider.RemoteDestSync (DeploymentObject sourceObject、DeploymentSyncContext syncContext) で 02:03:59: Microsoft.Web.Deployment.DeploymentObject.SyncToInternal (DeploymentObject destObject、DeploymentSyncOptions syncOptions、PayloadTable payloadTable、ContentRootTable contentRootTable) で 02:03:59: Microsoft.Web.Deployment.DeploymentObject.SyncTo (DeploymentProviderOptions providerOptions、DeploymentBaseOptions baseOptions、DeploymentSyncOptions syncOptions) で 02:03:59: Microsoft.Web.Deployment.DeploymentObject.SyncTo (文字列プロバイダー、文字列パス、DeploymentBaseOptions baseOptions、DeploymentSyncOptions syncOptions) で 02:03:59: Microsoft.Web.Deployment.DeploymentObject.SyncTo (DeploymentWellKnownProvider プロバイダー、文字列パス、DeploymentBaseOptions baseOptions、DeploymentSyncOptions syncOptions) で 02:03:59: Microsoft.WebMatrix.Deployment.MsDeployWorker.Execute (ブール値のプルバック) で 02:03:59: データベース '[dbname]' を作成できませんでした。
上記のログから、DotNetNuke WebDeploy パッケージがデータベースを作成しようとしていることは明らかです。データベースは既に存在しており、SQL Management Studio を使用してリモートで問題なく接続できます。
これはホストされた共有 SQL 環境であるため、ホストはユーザーがデータベースを作成することを許可しません。ホストされた SQL サーバーの SQL データベース ユーザー/ログインは、データベースの dbowner です。
これは WebMatrix DNN WebDeploy パブリッシング パッケージのバグですか?
回避策はありますか?
これは、WebMatrix 1.0 RTM と、WebMatrix アプリケーション ギャラリーからダウンロードした DotNetNuke アプリケーションを使用しています。いくつかのコンテンツで DNN サイトを準備するために、ローカルの SQL Express データベースを作成しました。すべてがうまく機能し、データベースが既に作成されている共有ホスト環境に公開しようとしています。