我最近下载了DotWiki,我打算使用我的公司网站的支持部分。 应用程序本身有两个不同的安全模式“简单”和“完整”。 完全使用ASP.NET成员资格提供程序的安全性。 但是,当我运行以下命令(当然用适当的信息replace[sql server]等),我得到一个很大的错误。
aspnet_regsql -S [my computer name]\[sql server] -E -A all -d DotWiki
我运行这个时出现以下错误。
C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regsql -S AGQAOFFICE \ SQLSER
VER05 -E -A所有 - DotWiki
开始添加以下function:
籍
轮廓
RoleManager
个性化
SqlWebEventProvider
。
执行SQL文件“InstallMembership.sql”期间发生错误。
SQL错误号是290,SqlException消息是:无效EXECUTE sta
使用对象“关系”的方法,方法“SetUseVarDecimal”。
SQL Server:[我的电脑名称] \ [sql server]
数据库:[DotWiki]
加载的SQL文件:
InstallMembership.sql
命令失败:
/ ******************* ************ /
/ ******************* ************ /
/ ******************* ************ /
DECLARE @ver int
DECLARE @version nchar(100)
DECLARE @dot int
DECLARE @hyphen int
DECLARE @SqlToExec nchar(400)
SELECT @ver = 8
SELECT @version = @@版本
SELECT @hyphen = CHARINDEX(N' - ',@version)
IF(NOT(@ hyphen IS NULL)和@hyphen> 0)
开始
SELECT @hyphen = @hyphen + 3
SELECT @dot = CHARINDEX(N'。',@version,@ hyphen)
IF(NOT(@dot IS NULL)和@dot> @hyphen)
开始
SELECT @version = SUBSTRING(@version,@ hyphen,@dot - @hyphen)
SELECT @ver = CONVERT(int,@version)
结束
结束
/ ******************* ************ /
IF(@ver> = 8)
EXEC sp_tableoption N'aspnet_Membership','text in row',3000
/ ******************* ************ /
/ ******************* ************ /
IF(EXISTS(SELECT name
来自sysobjects
WHERE(name = N'aspnet_Membership_CreateUser')
AND(type ='P')))
DROP程序dbo.aspnet_Membership_CreateUser
SQL例外:
System.Data.SqlClient.SqlException:无效的EXECUTE语句使用对象“Rela
和“方法”SetUseVarDecimal“。
在System.Data.SqlClient.SqlConnection.OnError(SqlExceptionexception,Boolea
n breakConnection)
在System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception
,布尔breakConnection)
在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObj
ect stateObj)
在System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cm
dHandler,SqlDataReader的dataStream,BulkCopySimpleResultSet bulkCopyHandler,Tds
ParserStateObject stateObj)
在System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName,
布尔asynchronous)
在System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult res
ult,String methodName,Boolean sendToPipe)
在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在System.Web.Management.SqlServices.ExecuteFile(string文件,string服务器,
string数据库,stringdbFileName,SqlConnection连接,布尔sessionSta
te,布尔isInstall,SessionStateType sessionStatetype)
任何帮助,将不胜感激 :)
首先,请按照build议的splattne安装最新的servicepack,因为你提到的@@版本不是sp2。 请参阅http://www.krell-software.com/mssql-builds.asp
其次,您也可以直接安装所需的表格,sprocs和视图。 您可以在这里find脚本在SQL Server中运行:%WINDOWS%\ Microsoft.NET \ Framework \ v2.0.50727 \
有关详细信息,请参阅此页: http : //aspnet.4guysfromrolla.com/articles/040506-1.aspx
您在SQL Server 2005上安装了哪个Service Pack? 似乎已经解决了SP2(最后一个是Service Pack 3)。
所以实际得到错误的那一行是这样的:
EXEC sp_tableoption N'aspnet_Membership', 'text in row', 3000
无效的EXECUTE语句使用对象“关系”,方法“SetUseVarDecimal”
我得到了很多混合的结果,更新到Service Pack 2(我已经有了)。 也有人说这是权限问题。 似乎没有任何工作。
您的数据库是否以正确的SQL2005兼容模式运行? 这将是90.还要确保您在关系表上具有ALTER权限。