How come when i compile the package and try and run the package outside of the Developement enviroment(Visual studio) it complains about all my ssis scrip tasks. It brings up an error saying, it can not run under this edition of Integration services. It requires a higher level.
Is there another type of ssis that i do not know about, can you supply me a URL to help solve this problem
Hi guys, I got these errors when writing a scripting component. Anyone encounteer these errors before?
Warning 1 The dependency 'EnvDTE' could not be found. Warning 2 The dependency 'Microsoft.SqlServer.VSAHosting' could not be found. Warning 3 The dependency 'Microsoft.SqlServer.DtsMsg' could not be found. Warning 4 The dependency 'Microsoft.SqlServer.VSAHostingDT' could not be found.
We have a strange problem occurring in an environment at a remote client that we're looking into. I was wondering if anybody else has experienced something similar.
We have a COM+ transactional component sitting on a machine that connects to a SQL server machine in the same room (ie no firewall between the two as far as I know, but I'll double check that to make sure).
This component was written in Delphi and uses ADO (sqloledb provider) to connect to the SQL Server. This works 99% of the time. However, there are times where we get the following error when trying to open connection (using the Connection ADO interface):
[DBNETLIB][ConnectionRead (WrapperRead()).]General network error. Check your network documentation
or this:
Connection failure
The error codes associated with these were found in oledb.pas :(-2147467259) $8004D01C and (-2147168228) $80004005
When this happens, it seems to last a few seconds (usually around 10) and then everything comes back to normal. I'm just wondering what could make this happen when the SQL Server seems to be responsive when we try to connect to it using other means. The SQL machine runs Win2k3 sp2 for testing purposes.
Since we were not able to reproduce it yet, I wrote a little application trying to connect to a sql server when it is set on pause. When I run it inside a COM+ transaction, I get the same errors as above right away, the third time I'll get an error telling me that SQL is in pause state, If I run the exact same code but inside a simple vbs application (ie no COM+ transaction), I only get the pause error message sometimes after a few more seconds, and none of the other errors above. Could it be that the COM+ transaction is trying to do other things and these fail so it returns another error? If so, how come after a bit I get the proper message?
Anyways, I'm pretty lost as to why this is happening and how we can try to debug it since we have not been able to reproduce it yet. If anybody has any clues, please let me know.
Problem 1: Upon starting SQL Server Express I get the following error:
"An unhandled exception has occurred in a component in your application....Cannot create a stable subkey under a volatile parent." Clicking OK lets the Server continue and I can use it quasi-normally.
Problem 2: Also, when I try to generate a diagram, I get a message that states
"Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects."
But, the database HAS an owner, and resetting the owner (using the Files...) to other users has no effect.
Problem 3: I tried to change the name of a database, and it refused to do so. Except that now all objects under the database name (it is the same old name) have disappeared. Is there a magic folder somewhere that contains all of the tables, etc. that were 'banished' from the server?
Is there a way to detach the databases from Express and reattach them to the SQL Server 2000 I am also running? Last time I tried the 'detach' worked but all the objects were wiped out by the 'attach'. Handy feature.
I have a package that has a data lfow task. this task imports data from a db2 database (using the IBM Ole DB provider fro db2) and adds it to sql server database table. This package was created on the server. then though version control (using TFS source control) I check out the package on my local machine. and when I open the package I get the foll 3 errors.
Error 1 Validation error. Import Account Num from BMGP_BDR: DTS.Pipeline: The component metadata for "component "DataReader Source" (1113)" could not be upgraded to the newer version of the component. The PerformUpgrade method failed.
Error 2 Error loading BMAG Download Xref Tables - bmag.dtsx: Microsoft.SqlServer.Dts.Pipeline.ComponentVersionMismatchException: The version of component "DataReader Source" (1113) is not compatible with this version of the DataFlow. [[The version or pipeline version or both for the specified component is higher than the current version. This package was probably created on a new version of DTS or the component than is installed on the current PC.]] at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostCheckAndPerformUpgrade(IDTSManagedComponentWrapper90 wrapper, Int32 lPipelineVersion)
Error 3 Error loading BMAG Download Xref Tables - bmag.dtsx: The component metadata for "component "DataReader Source" (1113)" could not be upgraded to the newer version of the component. The PerformUpgrade method failed.
I have a package which reads an Access file from a folder. My connection manager to this file is .NET providers for OledbMicrosoft Jet 4.0 OLE DB Provider.
Package works from my computer. But when I execute it on the server as a SQL Agent job, I get
The component metadata for "component "DataReader Source" (1) could not be upgraded to the newer version of the component. The PerformUpgrade method failed.
I copied the mdb file to a folder on the server which my packages have no problem reading data from.
My packages run under the same domain account as defined in proxies.
I'm having trouble with a Script Component in a data flow task. I have code that does a SqlCommand.ExecuteReader() call that throws an 'Object reference not set to an instance of an object' error. Thing is, the SqlCommand.ExecuteReader() call is already inside a Try..Catch block. Essentially I have two questions regarding this error:
a) Why doesn't my Catch block catch the exception? b) I've made sure that my SqlCommand object and the SqlConnection property that it uses are properly instantiated, and the query is correct. Any ideas on why it is throwing that exception?
In a Data Flow, I have the necessity to use a SSIS variable of type €œObject€? inside Script Component and assign to it the content of 'n' variables of string type. On exiting from the script the variable of type object should contain something like in the following lines: AAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDD €¦€¦€¦€¦€¦€¦€¦. €¦€¦€¦€¦€¦€¦€¦. On exiting from the data flow I will use the variable of type Object in a Script Task, by reading each element in a cyclic fashion. Is there anyone who have experienced something like this? Could anyone provide any example of that? Thanks in advance!
Hi all I'm into a project which uses a lot of views for joining 2 or more tables. Using the MERGE component in SSIS will be a huge effort coz it only has 2 inputs and I gotta SORT the input too. Isnt it possible to have a VIEW like component that joins more than 2 tables and DOESNT need sorting?? (I've thought about creating views in database engine but it breaks my data floe in SSIS and is'nt a practical solution)
I am writing a custom dataflow transformation component and I need to get the name of the preceeding component.
I have been trying to find a way to get a reference to the Package object, MainPipe object or IDTSPath90 object (connecting to the IDTSInput90 of my component) from my component because I think from there I can get to the information I want.
No idea where this bug crept in from. Have been using SSIS for 1.5 years now without hitting this problem.
I had a script component opening an XML document and parsing it using XPATH. I added some code that uses StreamReader / Streamwriter (closing one stream before starting the other). The code works without issue in my C# app.
And it ran without issue 2-3 times in SSIS. Then suddenly after running my package again, the script component says it completes successfully, yet nothing happens. I set a breakpoint on the first line of code - it never hits it. I add a msgbox as the first line of code - and it never displays.
I then close my package / exit out of ssis ... and then re-open it. When i open my script component, all of my code is GONE. All references that I added are gone.
I tried adding the streamreader/writer process to a dll I created from my c# app ... and added the DLL to the package -- same result.
I can reproduce this on 2 different computers.
Anyone experience this problem ? Any idea how to stop it ? Or debug it ?
Here is a slimmed down code sample of what causes the error :
Public Class ScriptMain Public Sub Main() Try Dim xmlDoc As New XmlDocument xmlDoc.Load("c:ulkasync_86281519_20070628045850225_4.xml") MsgBox("xmlLoaded") --this doesn't display once the package starts "acting up" Catch ex As Exception MsgBox(ex.Message) UpdateXML("c:ulkasync_86281519_20070628045850225_4.xml", ex.Message) End Try Dts.TaskResult = Dts.Results.Success End Sub Private Sub UpdateXML(ByVal fileName As String, ByVal message As String) Try Dim invalidChar As String = message.Trim().Substring(message.Trim().IndexOf("0x"), 4) Dim rd As StreamReader = New StreamReader(fileName) Dim xml As String = rd.ReadToEnd() Xml = Xml.Replace(invalidChar, String.Empty) xml = xml.Replace("", String.Empty) xml = xml.Replace("<![CDATA[<![CDATA[", "<![CDATA[") xml = xml.Replace("]]>]]>", "]]>") MsgBox("replaced") rd.Close() Dim wr As StreamWriter = New StreamWriter(fileName) wr.Write(xml) wr.Close() Dim xdoc As XmlDocument = New XmlDocument() xdoc.Load(fileName) Catch ex As Exception UpdateXML(fileName, ex.Message) End Try End Sub End Class
I recently updated the datatype of a sproc parameter from bit to tinyint. When I executed the sproc with the updated parameters the sproc appeared to succeed and returned "1 row(s) affected" in the console. However, the update triggered by the sproc did not actually work.
The table column was a bit which only allows 0 or 1 and the sproc was passing a value of 2 so the table was rejecting this value. However, the sproc did not return an error and appeared to return success. So is there a way to configure the database or sproc to return an error message when this type of error occurs?
I have a parent package that calls child packages inside a For Each container. When I debug/run the parent package (from VS), I get the following error message: Warning: The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
It appears to be failing while executing the child package. However, the logs (via the "progress" tab) for both the parent package and the child package show no errors other than the one listed above (and that shows in the parent package log). The child package appears to validate completely without error (all components are green and no error messages in the log). I turned on SSIS logging to a text file and see nothing in there either.
If I bump up the MaximumErrorCount in the parent package and in the Execute Package Task that calls the child package to 4 (to go one above the error count indicated in the message above), the whole thing executes sucessfully. I don't want to leave the Max Error Count set like this. Is there something I am missing? For example are there errors that do not get logged by default? I get some warnings, do a certain number of warnings equal an error?
Starwin writes "when i execute DBCC CHECKDB, DBCC CHECKCATALOG I reveived the following error. how to solve it?
Server: Msg 8909, Level 16, State 1, Line 1 Table error: Object ID -2093955965, index ID 711, page ID (3:2530). The PageId in the page header = (34443:343146507). . . . . . . . .
CHECKDB found 0 allocation errors and 1 consistency errors in table '(Object ID -1635188736)' (object ID -1635188736). CHECKDB found 0 allocation errors and 1 consistency errors in table '(Object ID -1600811521)' (object ID -1600811521).
. . . . . . . .
Server: Msg 8909, Level 16, State 1, Line 1 Table error: Object ID -8748568, index ID 50307, page ID (3:2497). The PageId in the page header = (26707:762626875). Server: Msg 8909, Level 16, State 1, Line 1 Table error: Object ID -7615284, index ID 35836, page ID (3:2534). The PageId in the page heade"
How can we get the name of the component inside the Data Flow Task . What I want is to log error stating which component in the data flow task has failed. Package and Data Flow names I am getting from system variables. I want to log like the Execution Result screen with Name of the component and [its id]. Like "Derived Column[216]" has failed with some error It is possible?
I'd like to incorporate the "package component tree" UI component that is used within the Visual Studio designers into an SSIS utility I'm building. This is the one I'm talking about:
Edit: Apparently using the IMG tag on these forums works in the editor preview, but not in the actual posts, so I've replaced images with links...
Example 1 Example 2
I've done some searching online, but have not found any information about where this UI is implemented, or if it is reusable. Does anyone here know if it is possible to re-use this component in a .NET application?
Ok. I have 2005 standard with sp2 installed. Went to create a maintenance plan and low and behold the component is missing. Ok.. no big deal, i'll just add it. Of course you know this is the error I get.
To change an existing instance of Microsoft SQL Server 2005 to a different edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter.
Ok.. doesn't seem too bad. So I go to a dos prompt. d: oolssetup.exe skuupgrade=1
Hi, I'm trying to add an icon to a custom component but its not happening and I can't figure out why. I'm sure I've managed to do this in the past. Here's my DtsPipelineComponent attribute:
MyComponent.ico is stored in the same folder as my project (i.e. at the same level as the .cs file and the C# project file). In the application property page I've pointed the icon resource at MyComponent.ico
Everything compiles OK. But I see no icon in my component when I deploy it to the toolbox or use it in a package.
I'm creating a custom interface for reporting services but I am having a few problems. This is my environment:
Using the ReportViewer component in remote mode to show my reports of the report server. There are 2 user levels of which any user can be apart of, Admin & user. In every report, there is a parameter called MERCHANTID, when the user who logs in (via custom login interface) is of group admin, then the merchantid parameter gets prompted before the report is run, if the group of the user is "user" then the merchantid parameter is hidden, and is passed programatically to the report. The report path also
My Questions:
1. When my reportviewer component loads up the report and prompts for a parameter, when you select a parameter value or type it in, it just posts back with no results, just the parameter prompt again with no data... How can this be corrected?
2. How do I pass report parameters programatically... so that when my user id of group "user" then "merchantid" gets passed automatically, but if there is any more parameters, then that gets prompted...
i have 2 source columns testsource and testsource1 and 2 output columns
test and test2
i am passing them through a script component to check if the columns are numeric or not along with some more logic...I am able to get the first column evaluated based on the logic but not the second column
Is it that the script component can only look at one column?
this is the code i wrote
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
I have an XML data file and an associated XSD file with properly defined datatypes. However, the datatype of all the data elements are always "string" datatype. For example, in my current xml file, all the data elements are of Decimal datatype which is properly defined in XSD file. However, datatype of all the output columns are of string datatype.
I have several SCD components in my project. As I have to process millions of records, SCD's are taking a lot of time. Is there a way to speed them up? Work arounds?
when loading the transformed data into OLE DB destination, there is no options to truncate destination table first. Have to insert a middle step to run script to truncate the destination table first.
I'm very confused. We even has the options of keeping or deleting the data in destination table in SQL2000 DTS package. Why we don't have this option in SQL2005??
I'm having some trouble getting a script component to work in one of my data flows. I'm loading data from a flat file and essentially, all I want to do is delete any data in the table that has the same period and fiscal year as the data in the flatfile. I was doing this with an OLE DB Command, and it worked, but very slowly. So I thought I'd try using a Script component to call a stored proc to handle things for me. The problem is, while the script component calls the proc and deletes everything exactly as it should (I've checked the counts in the table before and after), it then just sits there forever, and the package never completes. I imagine I must be doing something wrong with the script, since I don't really use VB all that much, but I can't seem to figure out where. Here's what I'm using
Code Snippet Public Class ScriptMain Inherits UserComponent Dim strFY As String Dim strPer As String
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) With Row strPer = Row.DataConversionPeriod.ToString() strFY = Row.FiscalYear.ToString() End With Dim strConn As String = "data source=server; initial catalog=database; integrated security=sspi;" Dim sqlConn As New SqlConnection(strConn) sqlConn.Open() Dim cm As SqlCommand = New SqlCommand("FinancialHE_DeleteExisting", sqlConn) cm.CommandType = CommandType.StoredProcedure cm.Parameters.Add("@FiscalYear", Integer.Parse(strFY)) cm.Parameters.Add("@Period", Integer.Parse(strPer)) cm.ExecuteNonQuery()
I have a text file which is fixed length. I have a header, trailer and detail records. I need to validate thel records and load only the detail records to the SQL server database. So now in the data flow, I have input file transformation(1 column called "Line"), then i have the script component(parses the column "Line" - identifies header,detail and trailer and do validations. Then I have conditional split, which splits the detail records and the output transformation is SQL server.
My question here is I am basically a database developer, so coding in vb is new to me. So in the script component, how do i split the columns
something like this:
If Row.Line.Substring(1, 1).ToString().Trim() = "H" Then Row.RecType = "H"
If Row.Line.Substring(15, 2).ToUpper().ToString().Trim() <> "" Then Row.OutTranCode = Row.Line.Substring(15, 2).ToUpper().ToString().Trim()
End If etc etc.
. elseif Row.Line.Substring(1, 1).ToString().Trim() = "D" Then Row.RecType = "D"
else
endif
Is that how it works or do you have some better idea to acieve this. Hope I am clear.