SSIS:通过表达式向 SQL 查询添加一个 int 变量

SSIS: Adding a int variable to SQL Query via Expression

我已经在 SSIS 中添加了一个变量,我正在尝试在我的表达式查询中添加 tha 变量。但它说 Expression cannot be evaluated 下面是我的表达式查询。如果你知道我在哪里犯了错误,请帮忙。

SQL 查询

SELECT c.CustomerName, o.OrderID from  Customers c
INNER JOIN Orders o ON c.CustomerID=o.CustomerID
Inner Join OrderDetails od ON od.OrderId = o.OrderID
Inner Join Products p on p.ProductID = od.ProductID 
where ISNULL(c.IsResult,0) = 0 and o.CompanyID = @CompanyID

表达式格式

"SELECT c.CustomerName, o.OrderID from  Customers c
    INNER JOIN Orders o ON c.CustomerID=o.CustomerID
    Inner Join OrderDetails od ON od.OrderId = o.OrderID
    Inner Join Products p on p.ProductID = od.ProductID 
    where ISNULL(c.IsResult,0) = 0 and o.CompanyID ="+ @[User::intCompanyID]

让我知道我做的是否正确。

您是否尝试过以下方法

"SELECT c.CustomerName, o.OrderID from  Customers c
INNER JOIN Orders o ON c.CustomerID=o.CustomerID
Inner Join OrderDetails od ON od.OrderId = o.OrderID
Inner Join Products p on p.ProductID = od.ProductID 
where ISNULL(c.IsResult,0) = 0 and o.CompanyID = ?"

注意:图片来自不同的示例

单击 "Parameters" 按钮,然后您可以从那里选择您的参数。

希望对您有所帮助。

我发现将数值转换为字符串或 Unicode 是可行的。所以也许试试

ISNULL(c.IsResult,0) = 0 and o.CompanyID ="+ (DT_WSTR,20) @[User::intCompanyID]