English 中文(简体)
缩略语 日期差错
原标题:SSIS Execute SQL Query error with DateTime Input Parameter

我花了几天时间试图解决这一问题。 我有一个SSIS包,有2个在序列集装箱内执行任务,1个是从桌上简单删除的,下一个是简单地在删除之前插入。 删除工作罚款,以便连接起来等等。

插入内容含糊不清,无益。

failed with the following error: "Syntax error, permission violation, or other nonspecific error". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. 

加上1个投入参数,这个日期必须达到设定为01/01/2011年的日期变量。 当我取代? 任务期间,任务完成日期很难确定。 我也把当地人放在“任务”前活动节点上,而变数是ok。

I also fired up a SQL Profiler session and I see the delete query hitting the DB but nothing for the insert (when it uses the input parameter).

我正在使用2005年视觉演播室方案1(我没有选择)和2005年服务器SQ3。

关于

标记

问题回答

我知道,你找到了回答你的问题的答案。 不过,我要在此澄清,你正在使用<<>奥莱多>链接执行下列询问是有效的,在<代码>内确实有效。 缩略语

INSERT INTO dbo.table1 (DateCol, OtherCol, OtherCol1) 
SELECT ?, SourceCol1, SourceCol2 FROM dbo.SourceTable

下面举例说明了使用SSIS 2005(Business Intelligence Developmentroom (BIDS) 2005的上述询问的成功执行。

www.un.org/Depts/DGACM/index_spanish.htm 逐步过程:

  1. 采用 字典节提供的文字制作两个表格,名称分别为>。 表格dbo.Source,其数据见1。 表dbo.Destination<>/code>将首先空出,并将用Executekou 任务收集源数据。

  2. 关于SSIS一揽子计划,在<代码>Connections Managers上建立了名为SQLServer的OLE DB联线,注明了你的优待服务器。 参看2

  3. 关于SSIS一揽子计划,产生了一个名为RecordDate的变量,载于3

  4. 关于信息社会首脑会议一揽子计划,设置了一个<代码>。 缩略语 摘录56

  5. 插图编号7显示了一揽子抽样执行。

  6. 插图编号8显示了在一揽子执行之后的表格中的数据:>dbo.Sourcedbo.Destination/code>。

希望会有所帮助。

Scripts: .

CREATE TABLE [dbo].[Destination](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [DateValue] [datetime] NOT NULL,
    [ItemNumber] [varchar](50) NOT NULL,
    [Qty] [int] NOT NULL,
CONSTRAINT [PK_Destination] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Source](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [ItemNumber] [varchar](50) NOT NULL,
    [Qty] [int] NOT NULL,
CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO

<>Screenshot #1:

“1”/

<>Screenshot #2:

“2”/

<>Screenshot #3:

3

<>Screenshot #4:

“4”/

<>Screenshot #5:

“5”/

Screenshot #6:

“6”/

<>Screenshot #7:

“7”/

<>Screenshot #8:

“8”/

你们需要确保你的发言符合你的联系管理人认为的参数。

If you re using OLE DB - your Insert statement needs to be of some kind like INSERT INTO Tbl(col) VALUES (?)

成果应是“None”(因为没有什么东西可以回过来的INSERT),参数测绘表应当有一个单一的参数(或像你有的那么多,参数名称应当从0、1、2.n开始。 如果你使用ADO的链接,那么你必须标明参数Param1, Param2, ...... ParamN。

You can see the reference for passing variables to the respective connection managers here: http://technet.microsoft.com/en-us/library/cc280502.aspx

Proper answer as per your comment: You cannot use a parameter mapping in a query of that kind. But there is an easy way to do it.

• 形成新的变数体(类型示意图)。 在变数清单中点击它,并用F4号报看到其财产。 将“EvaluateAsExpression”改为“EvaluateAsExpression”,并点击宣传箱,打开言论之窗。 在此,请您按如下格式提出询问: INSERT INTO tbl(dateCol,intColchar) SlectT CONVERT CONVERT(DATETIME),“+(DT_STR,20,1252)@[User:dateVar] + “,104) ASdayCol, intCol,charCol from anotherTbl”

当你点击“评价”表达时,你就看到了你可以使用的有效KQ声明。

现在又回到了Executekou的任务,删除了参数绘图。 方言接近尾声,点击Executekou 任务,新闻F4找到了表述线,点击......,在“SqlStatementSource”上添加表述:“[User:sqlCommand](或你称之为你的变数)。

如今,这项任务已经执行,它应当无问题地开展工作。

You can find the expression here: enter image description here

Objective:
To update datetime field (date+time) in parameter in sql task editor of SSIS package.

Description:
Step01: Created a variable having datatype as string.
e.g: 
Variable name: ReconcileStartDateTime
Data Type: String

Step02: Assign value to a variable. create  Execute SQL Task 
General:
SQL Command-> select cast(getdate() as nvarchar(100)) as StartDateTime
ResultSet-> Single Row
ByPassprepare-> True

Result set tab:
Result Name: StartDateTime
Variable Name: User::ReconcileStartDateTime

Step 03: Create Execute SQL Task and use query as below:
SqlStatement: Update OrderDetail set StartDate = cast(? as datetime) where ID= 101;
Parameter mapping: click ADD button, set variable name User::ReconcileStartDateTime; Datatype as Nvarchar; Parameter to 0

Result: When execute the SSIS package, datetime is set accordingly. SQL Profile would help to see the output.




相关问题
Export tables from SQL Server to be imported to Oracle 10g

I m trying to export some tables from SQL Server 2005 and then create those tables and populate them in Oracle. I have about 10 tables, varying from 4 columns up to 25. I m not using any constraints/...

SQL server: Can NT accounts be mapped to SQL server accounts

In our database we have an SQL server account that has the correct roles to access some of the databases. We are now switching to windows authentication and I was wondering if we can create a NT user ...

SQL Server 2000, ADO 2.8, VB6

How to determine if a Transaction is active i.e. before issuing Begin Transaction I want to ensure that no previous transaction are open.. the platform is VB6, MS-SQL Server 2000 and ADO 2.8