Хорошо, я прошел через это и хотел бы поделиться с теми, кто, возможно, все еще борется.После создания пакета вам необходимо распаковать его и отредактировать некоторые файлы.Посмотрите на файл .dnn в вашем пакете.Там, как указал Хэмлин, вам нужно добавить сценарии (не файлы), которые будут выполнять сценарии SQL и создавать таблицы, хранимые процедуры и другие объекты базы данных.Вот часть кода, которую я добавил в файл 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
uninstall.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
Убедитесь, что соединения sqlconnect подходят дляновый сайт и внесите изменения, если необходимо, в те файлы, которые содержат соединения (в моем случае они были в vb ascx.vb и ascx fle).Я использовал этот код, чтобы извлечь информацию из файла web.config и сделать подключение подходящим для любого сайта.
vb файл:
Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("sitesqlserver").ConnectionString)
ascx файл:
ConnectionString="<%$ ConnectionStrings:SiteSqlServer %>"
Затем упакуйте все файлы, включая новые файлы поставщика данных, в zip-файл, и вы должныидти.