私は dotnetnuke と asp.net をまったく初めて使用します。別の DNN サイトに簡単にインストールできるモジュール パッケージを作成する必要があります。問題は、SQL テーブルやその他のデータベース オブジェクトを手動で追加する必要があることです。パッケージのデプロイ時に自動的に追加されるようにしたいと考えています。私が言ったように、私はこれらすべてに不慣れであり、段階的な説明は非常に役立ちます.
ありがとう、
ジェレナ
私は dotnetnuke と asp.net をまったく初めて使用します。別の DNN サイトに簡単にインストールできるモジュール パッケージを作成する必要があります。問題は、SQL テーブルやその他のデータベース オブジェクトを手動で追加する必要があることです。パッケージのデプロイ時に自動的に追加されるようにしたいと考えています。私が言ったように、私はこれらすべてに不慣れであり、段階的な説明は非常に役立ちます.
ありがとう、
ジェレナ
OK私はこれを乗り越えました、そしてまだ苦労しているかもしれない人々と共有したいと思います。パッケージを作成したら、それを解凍していくつかのファイルを編集する必要があります。パッケージ内の.dnnファイルを見てください。そこで、Hamlinが指摘したように、SQLスクリプトを実行し、テーブル、ストアドプロシージャ、およびその他のデータベースオブジェクトを作成するSCRIPTS(ファイルではない)を追加する必要があります。これが私がdnnファイルに追加したコードの部分です。コンポーネントタグに追加されます。
<components>
<component type="Script">
<scripts>
<basePath>DesktopModules\UserComments</basePath>
<script type="Install">
<name>05.02.05.SqlDataProvider</name>
<version>05.02.05</version>
</script>
<script type="uninstall">
<name>uninstall.sqldataprovider</name>
<version>05.02.05</version>
</script>
</scripts>
</component>
<component type="Module">
そこで、パス、ファイルタイプ、ファイル名、およびバージョンを入力する必要があります。次に、マニフェストで指定したデータプロバイダーファイルを作成する必要があります。{databaseOwner}と{objectQualifier}を使用して、新しいデータベースオブジェクトがインストール先のサーバーに準拠していることを確認しました。これらは大文字と小文字が区別されるため、注意してください。そうしないと、エラーが発生します。私のデータプロバイダーファイルは次のようになります。
05.02.05.sqldataprovider
ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE {databaseOwner}{objectQualifier}usercomments(
[moduleid] [int] NULL,
[comment] [text] NULL,
[date] [datetime] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
create procedure {databaseOwner}sp_viewcomments
@moduleid int
AS
BEGIN
SET NOCOUNT ON
SELECT moduleid, comment, date from {objectQualifier}usercomments where moduleid=@moduleid
end
go
create PROCEDURE {databaseOwner}sp_usercommentsinsert
@moduleid int,
@comment text,
@commentdate datetime
AS
BEGIN
SET NOCOUNT ON;
insert into {databaseOwner}{objectQualifier}usercomments (moduleid, comment, date) values (@moduleid, @comment, @commentdate)
END
go
create PROCEDURE {databasOwner}sp_countcomments
@moduleid int
As
begin
SELECT count(*) from {databaseOwner}{objectQualifier}usercomments where moduleid=@moduleid
end
go
アンインストール.sqldataprovider
DROP TABLE {databaseOwner}{objectQualifier}usercomments
GO
drop procedure {databaseOwner}sp_usercommentsinsert
GO
drop procedure {databaseOwner}sp_viewcomments
GO
drop procedure {databaseOwner}sp_countcomments
go
sqlconnectionsが新しいサイトに適切であることを確認し、必要に応じて、接続を含むファイルに変更を加えます(私の場合、vbascx.vbおよびascxfleにあります)。このコードを使用して、web.configファイルから情報を取得し、任意のサイトに適切な接続を確立しました。
vbファイル:
Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("sitesqlserver").ConnectionString)
ascxファイル:
ConnectionString="<%$ ConnectionStrings:SiteSqlServer %>"
次に、新しいdataproviderファイルを含むすべてのファイルをzipファイルにパッケージ化すると、準備が整います。
これは SqlDataProvider ファイルによって処理されます。
VS2010 (または VS2008) で DotNetNuke Compiled Module プロジェクトを作成すると、最終的に 3 つのファイルが作成され、そのうちの 2 つがここで問題になることに注意してください (私が思うに)
DNN マニフェスト ファイルには、これらの SqqDataProvider ファイルを指すエントリがあることに注意してください。
<file>
<name>01.00.00.SqlDataProvider</name>
</file>
<file>
<name>Uninstall.SqlDataProvider</name>
</file>
また、マニフェスト ファイルでは、バージョン番号がインストーラー SQL ファイルのプレフィックスに対応していることにも注意してください。
<version>01.00.00</version>
最後に、DNN モジュールを .zip ファイルにパッケージ化します。正確な構造はわかりませんが、DNNCreative と以下で参照されている本には多くの情報があります。
展開可能な .zip ファイルを取得したら、SnowCovered から購入する可能性のある他のモジュールと同じようにインストールします。
私の提案は、次のことを行うことです
両方のリソースを使用しましたが、非常に便利でした