我在做什么 -
execute sql task通过oledb connection(OLE)从(EST)获取单行结果集。
我想设置ssis变量strName =行的第一列值(最大varchar)。strName是肯定的Ssis字符串。我检查了。
在EST中-结果名称= 0,变量名称= User::strName。
我得到了错误-
[执行SQL任务]错误:向变量“ strName”分配值时发生错误:“分配给变量” User :: strName“的值的类型与当前变量类型不同。执行期间变量可能不会更改类型。变量类型是严格的,除了Object类型的变量。
我该如何解决 ?
我开始研究由前雇员创建的 SSAS 解决方案。我做的第一件事是重命名 SSAS 服务器实例上的现有数据库名称。新名称是RMSBak。
在 SSAS 解决方案中,我更改了几列。删除了一些度量/列。然后部署和处理多维数据集。部署工作。从视觉工作室处理多维数据集工作正常。
我们有一个 SQL Server 代理作业,它触发一个 SSIS 包,该包依次处理多维数据集。然而,这项工作一直失败。当我查看 SSMS 中的报告时,它表明它正在尝试使用我重命名的数据库。
错误是这样的:
处理多维数据集:错误:OLAP 存储引擎中的错误:处理“RMS Data CubesBak”数据库中“MTM”维度的“Basis MTM”属性时出错。
我已经检查了我知道的每个连接字符串。它们都指向正确的数据库。然而,工作或 SSIS 包或其他东西坚持使用我重命名的数据库。
我在SQL存储过程中有这个if条件:
@isAlphabeticalSort bit = false
if(@isAlphabeticalSort = false)
ORDER BY V_CONSTAT_ACTUAL_DATES.DATE_TO_END
Else
ORDER BY V_CONSTAT_ACTUAL_DATES.JOB_NUMBER
Run Code Online (Sandbox Code Playgroud)
但我得到一些错误:
无效的列名称为false
'ORDER'附近的语法不正确
我甚至尝试在if和else之间添加开头和结尾但仍然得到相同的错误....我做错了什么?
if (validateEmailId(email))
{
pictureBox5.Visible = true;
SqlConnection con = new SqlConnection("conection string");
SqlCommand cmd2 = new SqlCommand("UPDATE sumant SET email=" + email + " WHERE code ='" + textBox2.Text + "' ", con);
cmd2.Connection = con;
cmd2.Connection.Open();
cmd2.ExecuteNonQuery();//line 7
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
validateEmailId是一个验证输入的电子邮件的函数(使用正则表达式)..在'email'文本框中输入的电子邮件已经过验证并返回到上述函数中.
当控件在遇到错误后转到第7行时:
无法绑定多部分标识符"sxxx@yahoo.com".
这意味着sxxx@yahoo.com已通过验证测试,但第7行出现问题.
在SQL端,"email"列有varchar(50)其数据类型......我不认为这是一个问题....
我想在设置RECEIPTIDS变量时编写一个 IN 语句,以便我可以将该格式的多个值传递到我的查询中。我尝试了以下方法:
DECLARE @RECEIPTIDS VARCHAR(2000)
SET @RECEIPTIDS = ('R00013','R00028')
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
',' 附近的语法不正确。
我遇到了以下函数,用于计算工作日中两个日期之间的差异,即通过消除标准周末/周六和周日(来源:http : //partialclass.blogspot.ie/2011/07/calculating-working- days-between-two.html ):
function workingDaysBetweenDates(startDate, endDate)
{
if (endDate < startDate)
return 0;
var millisecondsPerDay = 86400 * 1000;
startDate.setHours(0,0,0,1);
endDate.setHours(23,59,59,999);
var diff = endDate - startDate;
var days = Math.ceil(diff / millisecondsPerDay);
var weeks = Math.floor(days / 7);
var days = days - (weeks * 2);
var startDay = startDate.getDay();
var endDay = endDate.getDay();
if (startDay - endDay > 1)
days = days - 2;
if (startDay == 0 && endDay != 6)
days = days …Run Code Online (Sandbox Code Playgroud)