我已经创建了一个到项目级别的 OLE DB 连接(本机 OLE DB\SQL Server Native Client 11.0)。当我尝试从源助手中使用它时,我在列表中看不到它。但是,如果我选择 OLE DB 源连接,则可以毫无问题地使用它。
可能会发生什么?
我正在使用 Microsoft Visual Studio Community 2019 版本 16.4.2。
我需要获取直接或间接依赖某人的所有员工的姓名。使用本示例中的查询(来自https://rextester.com/WGVRGJ67798),
create table employee(
id int not null,
employee varchar(10) not null,
boss int null
)
insert into employee values
(1,'Anna',null),
(2,'Bob',1),
(3,'Louis',1),
(4,'Sara',2),
(5,'Sophie',2),
(6,'John',4);
with boss as (
select id, employee, boss, cast(null as varchar(10)) as name
from employee
where boss is null
union all
select e.id, e.employee, b.id, b.employee
from employee e
join boss b on b.id = e.boss
)
select * from boss
Run Code Online (Sandbox Code Playgroud)
我可以得到这个结果:
但是,我需要看到这个:
这就像显示一个人与他或她“下面”的所有员工之间所有可能的关系。
我正在尝试向 Azure DevOps 发出获取请求。
我有 URL 和 Personal_Access_Token。URL 是按照以下说明创建的https://learn.microsoft.com/en-us/rest/api/azure/devops/git/items/get?view=azure-devops-rest-6.1&tabs=HTTP#definitions,并且它在浏览器中运行良好。可以看到我所定位的文件的信息。
但是,当我在 python 中执行请求时:
import requests
headers = {
'Authorization': 'Bearer myPAT',
}
response = requests.get('exampleurl.com/content', headers=headers)
Run Code Online (Sandbox Code Playgroud)
我收到 203 响应...
我还尝试了此链接Python requests库如何使用单个令牌传递授权标头但没有成功的其他选项。包括这些标头:
personal_access_token_encoded = base64.b64encode(personal_access_token.encode('utf-8')).decode('utf-8')
headers={'Authorization': 'Basic '+personal_access_token_encoded}
headers={'Authorization': 'Basic '+personal_access_token}
Run Code Online (Sandbox Code Playgroud)
但在这两种情况下仍然有相同的反应。
当然我没有考虑什么。可能缺少什么?
我需要在 SSIS 中翻译下一个 SQL 查询:(每个表属于不同的源 - SQL Server & ORACLE)
update A
set
A.col1 = B.col1
A.col2 = B.col1
from
table A inner join table B B on A.col3 = Col3
where
A.col4 = value 1 and
A.col5 = value2 and
B.col4 = value 3;
Run Code Online (Sandbox Code Playgroud)
如您所见,源和目标对应于相同的源:表 A。这是我创建的工作流。

在条件拆分之后,我使用了一个派生列来复制列 B.Col1 以在 OLE DB 命令上使用它来更新表 A 的列之后,我在 OLE DB 命令中编写了下一段查询任务:
update Table A
set
col1 = ?
col2 = ?
Run Code Online (Sandbox Code Playgroud)
但此时我有一个问题,我是只更新我从条件拆分中获得的子集的值,还是更新所有表 A。此外,更新查询的最后部分引用了表 B 和 in OLE DB 命令任务我只能参考一个数据源。
澄清: 代码只是一个模式,所以我不需要更正它,这不是我的疑问(以防我犯了错误)。
我被要求在不修改 sql …
我在sis的一个项目中遇到了这个问题。我不得不将原始项目分成不同的程序包,因为这太大了,有时可能会引起内存问题。因此,为了链接不同的程序包,我使用“执行程序包任务”相互引用。如果我直接从SSIS执行该程序包,则可以完美运行,这没有问题。但是,如果我使用调度程序对执行时间进行编程,则会收到以下错误消息:
错误:2015-09-22 14:54:37.98代码:0xC00220E6源:执行包任务说明:没有要引用的项目。结束错误错误:2015-09-22 14:54:37.99代码:0xC0024107源:执行程序包任务说明:任务验证期间出错。结束错误DTExec:程序包执行返回DTSER_FAILURE(1)。
我想知道项目及其执行会发生什么。
问候
在我的模型中,我需要根据两个相关表计算度量。架构将是这样的:
在桌子上,AI 需要计算一个称为奖金(收入*%奖金)的新指标。
我对这个工具有点陌生,我已经看到了一个可能的解决方案,但一定能正确理解它。我应该做什么,在仪表板或 PowerBi 中创建指标?
我将不胜感激任何帮助。
问候,
我正在尝试使用OLE DB COMMAND在SSIS中进行此更新:
UPDATE
TABLE_A
SET
COLUMN_C = CONCAT(?,' ',?)
FROM
TABLE_A INNER JOIN TABLE_B ON
TABLE_A.ID = TABLE_B.ID
Run Code Online (Sandbox Code Playgroud)
但是当我尝试映射参数时,我收到此消息:
“无法推导出参数类型,因为单个表达式包含两个未键入的参数”
我不知道此查询是否做错了什么,或者是否不可能在一个句子中使用多个参数。
我正在使用VS 2010
我们假设我有一些这样的日期:
2014-01-23 14:52 (today)
2014-01-22-15:35
2014-01-21 10:35
2014-01-20 09:45
2014-01-19 17:58
2014-01-18 14:05
2014-01-17 13:22
Run Code Online (Sandbox Code Playgroud)
现在我只需要考虑到当天的前5天,所以对我来说他们将是:
2014-01-22-15:35
2014-01-21 10:35
2014-01-20 09:45
2014-01-19 17:58
2014-01-18 14:05
Run Code Online (Sandbox Code Playgroud)
在SSIS中,我在条件拆分任务中编写了下一条指令:
date > DATEADD("DD",-5,GETDATE()) && date < DATEADD("DD",-1,GETDATE())
Run Code Online (Sandbox Code Playgroud)
但是我所拥有的结果取决于我执行工作流程的时间.
所以,例如,如果我在13:42执行它今天(2014-01-23).我不会看到2014-01-22-15:35,因为它是在一整天后考虑小时(13:42),我需要的是看到所有数据在昨天的任何时刻都有一个日期.
我的问题是,我怎么能指出我需要从今天00:00开始的前几天的所有日期?换句话说,如何在不考虑执行时间的情况下计算前5天所有小时的间隔.
我在 SQL Server 2012 中通过更新查询得到“意外”结果。这就是我想要做的。
从由ID ','name(例如258967,Sarah Jones )组成的列(IDENTIFIER)中,我必须填写其他两列:ID和SELLER_NAME。
原始列有一些值,末尾有一个空白,其余的没有它:
'258967,Sarah Jones'
'98745,Richard James '
Run Code Online (Sandbox Code Playgroud)
这是我正在执行的更新查询:
UPDATE SELLER
SET
IDENTIFIER = LTRIM(RTRIM(IDENTIFIER)),
ID = Left(IDENTIFIER , charindex(',', IDENTIFIER )-1),
SELLER_NAME = UPPER(RIGHT((IDENTIFIER ),LEN(IDENTIFIER )-CHARINDEX(',',IDENTIFIER )));
Run Code Online (Sandbox Code Playgroud)
但我最后得到了错误的结果
258967,Sarah Jones 258967 SARAH JONES
98745,Richard James 98745 ICHARD JAMES
Run Code Online (Sandbox Code Playgroud)
所有末尾有空格的名称都会发生同样的情况。此时我想知道,如果我已经指定我要在第一个操作中消除 IDENTIFIER 值开头和结尾的所有空格,为什么系统会更新 ID 和 SELLER_NAMES 然后执行此操作?。
只是要指定: IDENTIFIER 列是卖方表的一部分,该表正在从另一个人那里更新,该人从 Excel 文件中导入数据。我收到这个值,我必须规范化信息。我只能阅读 SELLER 表,在回答之前考虑到这一点
我试图从oracle表中获取所有数据.我在WHERE子句中试过这句话.
date between to_date(sysdate-1) and to_date(sysdate);
date between (current_date-1) and (current_date);
date BETWEEN (TO_CHAR(SYSDATE-1,'DD-MON-YY')) AND (TO_CHAR(SYSDATE,'DD-MON-YY'));
Run Code Online (Sandbox Code Playgroud)
为了比较结果,我用这段代码执行了查询:
date between to_date('08/04/2015 00:00:00.00', 'dd/mm/yyyy hh24:mi:ss.ff' ) and
to_date('09/04/2015 00:00:00.00', 'dd/mm/yyyy hh24:mi:ss.ff' )
Run Code Online (Sandbox Code Playgroud)
我完全相信这个查询给了我正在寻找的正确的数据集,但是这个结果与我前两个例子的结果完全不同,甚至四个结果在它们之间也是不同的.
这个查询在午夜后自动执行,我可以手动更新日期,所以我的问题是如何直接指定我需要从前一天(从00:00开始)的所有寄存器时得到的结果相同上午12:00.
问候
ssis ×5
sql ×3
datetime ×2
sql-server ×2
sql-update ×2
azure ×1
azure-devops ×1
connection ×1
date ×1
dax ×1
execution ×1
http-headers ×1
oledbcommand ×1
oracle ×1
parameters ×1
powerbi ×1
python ×1
relationship ×1
ssis-2012 ×1
task ×1
updates ×1