我正在尝试将TABLE变量传递给sp_executesql过程:
DECLARE @params NVARCHAR(MAX)
SET @params = '@workingData TABLE ( col1 VARCHAR(20),
col2 VARCHAR(50) )'
EXEC sp_executesql @sql, @params, @workingData
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.
Run Code Online (Sandbox Code Playgroud)
我尝试在'TABLE'之后省略列规范.我还尝试将表声明为动态SQL中的变量.但没有运气......
在我看来,TABLE变量不允许在此过程中作为参数传递?顺便说一句:我正在运行MSSQL2008 R2.
我对使用像#workingData这样的本地临时表不感兴趣,因为我从另一个过程加载了工作数据:
INSERT INTO @workingData
EXEC myProc @param1, @param2
Run Code Online (Sandbox Code Playgroud)
哪个我不能直接进入临时变速器(对吧?)......
任何帮助赞赏!
好吧,我决定了解一下R中的一些基本功能,我偶然发现了这个sort.list()功能.我得到了相当直接的sort()功能,但没有得到的想法sort.list().我已经读过它应该是一个排列函数,重新排列我的向量内容(以某种方式).
有矢量;
x <- c(5.0, 3.0, 2.0, 2.2, 0.0, 5.0, 3.0, 2.0, 2.2)
Run Code Online (Sandbox Code Playgroud)
运行sort.list(x)输出
[1] 5 3 8 4 9 2 7 1 6
Run Code Online (Sandbox Code Playgroud)
那个是从哪里来的?有人可以给我一个提示吗?无论如何,这个排列的用途是什么?
谢谢.
我创建了一种动态添加SettingsProperty到.NET app.config文件的方法.这一切都很好,但是当我下次启动我的应用程序时,我只能看到设计器中创建的属性.如何加载属性运行时?
我创建的代码SettingsProperty如下所示:
internal void CreateProperty<T>(string propertyName)
{
string providerName = "LocalFileSettingsProvider";
System.Configuration.SettingsAttributeDictionary attributes = new SettingsAttributeDictionary();
System.Configuration.UserScopedSettingAttribute attr = new UserScopedSettingAttribute();
attributes.Add(attr.TypeId, attr);
System.Configuration.SettingsProperty prop;
SettingsProvider provider = ApplicationEnvironment.GlobalSettings.Providers[providerName];
prop = new System.Configuration.SettingsProperty(
propertyName,
typeof(T),
provider,
false,
default(T),
System.Configuration.SettingsSerializeAs.String,
attributes,
false,
false
);
ApplicationEnvironment.GlobalSettings.Properties.Add(prop);
ApplicationEnvironment.GlobalSettings.Reload();
}
Run Code Online (Sandbox Code Playgroud)
下次运行时,我要求设置属性,我找不到任何创建的属性.无论我是否致电ApplicationEnvironment.GlobalSettings.Reload();.
我有一个包含6列的数据库表.主键是由6列中的5列组成的复合键
我正在尝试使用SqlClient.SqlCommandBuilder.GetDeleteCommand删除行.
但是我收到以下错误:
"System.InvalidOperationException:对于不返回任何键列信息的SelectCommand,不支持DeleteCommand的动态SQL生成."
该SelectCommmand包含表中的所有列:
SELECT TABLENAME.COL1, TABLENAME.COL2, TABLENAME.COL3,
TABLENAME.COL4, TABLENAME.COL5, TABLENAME.COL6
FROM TABLENAME
Run Code Online (Sandbox Code Playgroud)
问题可能是复合键吗?
我有一个VS2008 Reporting Services项目(数据库:SQL Server 2008 RC2).该项目已从VS2005/SQL2005更新.
我需要将Report Viewer控件更新到版本10.0.0.0.但是,当我安装Redistributable(http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=a941c6b2-64dd-4d03-9ca7-4017a0d164fd)时,它不会添加到.NET- "添加引用..."对话框中的选项卡!
我可以在对话框中看到Microsoft.ReportViewer 8.0.0.0和Microsoft.ReportViewer 9.0.0.0,但没有10.0.0.0
我尝试为ReportViewer相关的所有内容运行卸载,并重新安装ReportViewer 10.0.0.0控件.但我仍然在对话框中看到版本8和9,但没有版本10!
通过开始 - >运行 - >组件检查GAC我可以看到所有三个版本.我无法删除8和9,因为它们显然被其他程序使用...
这让我有点疯狂......
在Visual Studio 2008的"添加引用..."对话框中,我该怎么做才能使这个程序集可用?
关心亚历克斯
我有一个具有重复元素的结构,如下所示:
<a>
<b>
<a>
</a>
</b>
<a>
<b>
<a>
<c att="val" />
</a>
</b>
</a>
</a>
Run Code Online (Sandbox Code Playgroud)
当我使用XPath时,假设c节点是$ currentNode
<xsl:value-of select="($currentNode/ancestor-or-self::a)" />
Run Code Online (Sandbox Code Playgroud)
我得到一个与表达式匹配的无序节点列表.我需要的是始终让节点最靠近树,如分支中最深或最高的@level.
不幸的是,我不能像这样使用XPath 2 max-function:
<xsl:value-of select="($currentNode/ancestor-or-self::a)[max(@level)]" />
Run Code Online (Sandbox Code Playgroud)
请注意,最近的a节点并不总是正好位于上下文之上,只是在某处...
任何建议赞赏!
关心亚历克斯
我想知道是否有人在Web场环境中成功使用DPAPI和用户存储?
因为我们的应用程序是最近从1.1转换为2.0的ASP.NET应用程序,所以我们使用直接调用CryptUnprotect方法的自定义包装器.但这应该ProtectedData与2.0框架中可用的方法相同.
因为我们在Web场环境中运行,所以我们无法保证执行加密的计算机将是解密它的计算机.(也因为机器故障不应该破坏我们的加密数据).
所以我们拥有的是一个服务组件,它在我们每个Web框上的特定用户帐户下运行.根据推荐,此用户设置为具有漫游配置文件.
我们遇到的问题是在一台机器上加密的信息无法在另一台机器上解密,这会因win32错误而失败:
'密钥无法在指定状态下使用'.
我怀疑这是因为我在多台机器上将加密服务作为用户运行时犯了一个错误,因此保持用户同时登录多台计算机.
如果这是问题,那么在Web场环境中如何使用DPAPI和User Store?
.net ×1
ado.net ×1
app-config ×1
asp.net ×1
assemblies ×1
dpapi ×1
dynamic ×1
encryption ×1
r ×1
reference ×1
reportviewer ×1
sql ×1
sqlclient ×1
web-farm ×1
xml ×1
xpath ×1
xslt ×1