sql-server - 在我的执行 sql 任务中添加了 SSIS 额外引号
问题描述
我有一个存储表名的全局字符串变量,我想在编写查询时在执行 SQL 任务中使用这个变量。
我在执行 SQL 任务中的查询是:CREATE TABLE ?
这应该在我的 OLEDB 连接到的 Netezza 系统中创建一个表。(连接成功)
当我查看输出时遇到的问题是:ERROR: 'CREATE TABLE 'TableName''
期望一个标识符找到一个“关键字”。
如您所见,它在存储在变量中的我的表名周围添加了引号。在参数映射中,我使用方向 => 输入、数据类型 => nvarchar、参数名称 => 0 和参数大小 => 0 添加我的变量。如何在没有引号的情况下访问变量的值?
解决方案
?
就像 SQL Server 中的变量。您不能在 SQL Server 中执行如下语法:
DECLARE @Table sysname = N'YourTable';
SELECT *
FROM @Table;
您需要在 SSIS 包中创建第二个变量,并将表达式设置为:
"CREATE TABLE " + {Your Variable} + "..."
(显然{Your Variable}
用你的变量的全名替换。例如@[User::TableName]
)
然后,您需要将 SQLSourceType 的值更改为 Variable 并在 SourceVariable 下拉列表中选择您的新变量。
推荐阅读
- google-analytics - 确保我的 Google Analytics 视图设置正确
- verilog - 为什么内联 Verilog 算术移位将其变成逻辑移位?
- c# - 跳过一项时,ASP.NET MVC 5 未获取所有绑定复选框
- python - 将 NLP WordNetLemmatizer 应用于整个句子显示错误且位置未知
- javascript - 如何在Vue.js(Laravel6)中的数据中返回数据
- apache - Apache HTTP2 h2c 模式无法正常工作
- sql - 相当基本的查询(可能需要子查询和/或外连接)?
- amazon-web-services - 以下 AWS CLI 命令的 boto3 等效项是什么?
- python - 如何使用其他列中的值来填充 Pandas 中一列的 nan
- slurm - Slurm sacct 不同的两条线