Showing posts with label executing. Show all posts
Showing posts with label executing. Show all posts

Thursday, March 22, 2012

((cdate("1/1/2001")+30) as task_due_date (Not working)

I have the below function written in VB, and everything works fine
EXCEPT that the sql code is not executing correctly. The date field is
in the table always shows "12/1/1899 11:59:17 PM" no other date. I'm
should have the date of the input into the function + or - the integer
in the task_due_days field.

for example (cdate("1/1/2002")+30) as task_due_date

What am I doing wrong?

Function SetTasks(trans_id As Long, trans_type As Integer, event_date
As Date)

Dim task As String

task = "Insert into tbl_tasks
(trans_id,task_name,Task_due_date,comments) SELECT (" & trans_id & ")
as trans_id,task_name,(cdate(" & event_date & ")+[task_due_days]) as
task_due_date,comments FROM tbl_task_parameter WHERE trans_type=" &
trans_type

Debug.Print task

DoCmd.RunSQL (task)

End Function

the actual SQL code is....

Insert into tbl_tasks (trans_id,task_name,Task_due_date,comments)
SELECT (192) as trans_id,task_name,(cdate(1/1/2001)+[task_due_days]) as
task_due_date,comments FROM tbl_task_parameter WHERE trans_type=1

ANY HELP IS GREATLY APPRECIATED!(stoppal@.hotmail.com) writes:
> the actual SQL code is....
> Insert into tbl_tasks (trans_id,task_name,Task_due_date,comments)
> SELECT (192) as trans_id,task_name,(cdate(1/1/2001)+[task_due_days]) as
> task_due_date,comments FROM tbl_task_parameter WHERE trans_type=1

Apparently you are not using SQL Server, as there is no cdate function
in SQL Serever.

I can tell what the problem is though: 1/1/2001 = 0 with integer division,
and with floating-point division you get 0.0005. Since you got
11:59:17, I guess that in whatever you are using, you have floating-
point division. (In SQL Server you would get integer division here.)

So you need to delimit the date string. In SQL Server that would be
'1/1/2001'. But it looks a bit likely you are using Access, in which
case maybe ## is better. But you better ask in comp.databases.ms-access
it you are uncertain.

--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se

Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.aspsql

Thursday, March 8, 2012

"login failed for user" message when executing a copy of a working package

I notice when I copy an SSIS package 'A' to a new package 'B', the new package 'B' will generate a "login failed for user" message in the data flow components. To copy I "save copy of Package 'A' as."

Some config info:

    Package ProtectionLevel = EncryptSensitiveWithPassword

    Connections are Data Sources

    Connection strings with password are stored using PackageConfigurations to an SQLServer table. I've verified Package 'A' is in fact using the config table (e.g. it is not using a password or user stored in the package)

    Data connectios are all SQLServer Native OLE DB Client

    The account is an SQLServer account (not integrated security)

The original Package 'A' works flawlessly and I get success when I test the connections in Package 'B'.

But executing package 'B' I get: The error message I get is: [Connection manager "MyConnection"] Error: An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E4D Description: "Login failed for user 'dwuser'.".

Does anyone know why this would occur and/or how to work around it? I saw another thread where a potential workaround is to create a new data flow task and copy all the data flow components to that task. That won't work well for us because the data flow is moderately complex and when you copy and paste it, SSIS completely re-orders the layout.

This is a typical data warehouse ETL setup where there is a master package that executes child packages (e.g. 'A', and 'B' mentioned above) that each perform the ETL for a specific dimension or fact table.

Thanks for any help,

Lee Cascio

Some more info and revelation.

Both child packages will run fine if I execute them independently (outside the parent package that calls them). The problem seems to occur when I try to execute them from a parent package. The OLE Db Connections will then fail on validation on both packages with the "login failed" message listed above in addition to the following: [MyTable [1]] Error: The AcquireConnection method call to the connection manager "MyDataSourceConnection" failed with error code 0xC0202009.

An interesting observation is if I disable Package 'B' in the parent package, Package 'A' will execute without flaw with the parent package. If I disable Package 'A' and enable Package 'B', Package 'B' will still have the problem. Another note, the parent package also uses the data source connections.

It appears we have some kind of problem with multiple packages using the same data source. Does anyone know if there are any limitations to this or if it requires special transaction settings?

Thanks,

Lee Cascio

|||I resolved this issue by switching to XML configurations instead of SQL Server table configurations. I'm still not sure of the exact cause but would have been a problem with credentials getting to the SQL Server Table for the configurations (which include connection strings).

Tuesday, March 6, 2012

"Illegal characters in path" while getting varaible values from stored proc

hi!

I am getting some junk characters while executing sql task(which is a stored proceedure) when i execute the same sql environment it is fine.

User::ArchiveDir {? )ArchiveVoucherLog_6-26-2006

What is problem in here?

Any help

Thanks,

Jasmine

} String

was an error message generated? if so, please post it.