Problem W/ Script Task Accessing Directory Services
May 25, 2006
Using the example from SS online books:
The code is this:
Public Sub Main()
Dim directory As DirectoryServices.DirectorySearcher
Dim result As DirectoryServices.SearchResult
Dim email As String
email = Dts.Variables("email").Value.ToString
Try
directory = New _
DirectoryServices.DirectorySearcher("(mail=" & email & ")")
result = directory.FindOne
Dts.Variables("name").Value = _
result.Properties("name").ToString()
Dts.TaskResult = Dts.Results.Success
Catch ex As Exception
Dts.Events.FireError(0, _
"Script Task Example", _
ex.Message & ControlChars.CrLf & ex.StackTrace, _
String.Empty, 0)
Dts.TaskResult = Dts.Results.Failure
End Try
Dts.TaskResult = Dts.Results.Success
End Sub
End Class
My problem is I'm not getting a value for 'Name' instead when I display in a dataflow task (using dataviewer)following the script task the value of Name = 'System.DirectoryServices.ResultPropertyValueCollection'
It's seems like it is telling me its property not the value. I'm not a VB/.Net developer so I'm just guessing as to what the value means.
I'm working on a web project that will display the reports in an iframe to the user. When I was using windows security It worked perfectly.
Now my boss wants me to use form based authentication instead that can authenticate against our current Active Directory. This is working perfectly and does authenticate correctly. The only problem is that when I load a report in the iframe http://myserver/reportserver/myreport-blah reporting services prompts the user to enter in windows credentials. Is there anyway to pass my form credentials to the report server so that the user doesn't have to log in again.
Both the report server and the web app are on the same server BUT in different virtual directories.
PS: I tried using the reportviewer control but it does not display things correctly. For example, I have use a multi select dropdown on the reports and it messes up the drop down when the user only has 1 selection (hiding the selection). If the user has more than one selection the drop down uses scroll bars. I would use the reportviewer control if it displayed exactly like it does when using alternate URL method.
I attempted to use Move Directory to move the contents of one directory to another.  I encountered the 'different volume' issue that others have experienced.  While this error is frustrating I can work past this particular issue. My more pressing question is why is the move directory command overwriting a destination directory?   When I setup the Move directory file task I provided two vars to hold src and dest location:
dest var:Â estserveroutput src var: devserverdev estfiles Set overwrite destination = TRUE
Why would Move Directory overwrite output folder at destination? Â Shouldn't it only overwrite if the testfiles directory exists at destination? Â This is very frustrating since I cannot find enough information in the official documentation to understand what is happening here. Â
Is it just me or does the documentation for Move directory seem.....incomplete?
I have created a File System task which is contained in a Foreach Loop Container. I have .bak files that are populating a directory from a maintenance backup plan.
There is a point where I need to delete the .bak file's after I've zipped them all up.
How do I set the SourceVariable to read through the directory and pick up just the .bak file's in the directory to delete.
Has anyone used this successfully from an OLEDB source component, or even from the Execute SQL Task? I've seen some examples of using a script component, but nothing that uses it through a connection manager.
Hello All,I have a linked ADSI Server to our company Active Directory andeverything is fine. I'm running queries and such using LDAP. BUT howcan I aquire a list of attributes for the classes and categories. Suchas if i wanted to see a user's telephone number and email address foruse in a corporate database? Is this possible?Thanks
I'm trying to extract all the users and their membership to groups, and the membership of groups to groups from active directory though a link to server.
I can get the users. I can get the groups.... individually.
I can't get the info of what user is a member of or who are members of a group.
Anyone know how to do this or am I going to have to right a vb app? (Anyone already got the code...)
I want to load this data into tables for reporting in my Data Warehouse.
Hi, I have to researching of how to accesss package tasks and component using the SqlServer.Dts.Runtime class and so far, I havent found any solution. For example, if you package has a scriptiong task and a data flow task(<- which contains a data source component). Is it possible to use the scripting component to access the data source component in the data flow task and manipulate its properites like sqlcommand etc.
I'm having a bit of a problem implementing a File System Task to Create a directory and would appreciate some help if possible.
I want to create a date directory so I can move files to once they are imported successfully. The date portion for the directory comes from the import file whose name is variable and in the format of PerfLog_<yyyymmdd>.aud. So, in essence, if I am processing a file named Perflog_20060913.aud, when I am done processing it I want to create a directory c:myprog20060913 and move my processed file there.
This delete's the directory content as well as sub directory content! Is their a way i can just set it to delete the files in the said directory and not sub directories?
I have a variable SYear with the data type Integer and the value 2005.
Connection type is OLE DB, and my sql statement is:
DECLARE @MyYear Int
SET @MyYear = ?
I have set the variable User::Syear as Input with the parameter name=0, there is no result set. I set BypassPrepare both True and False. However, this simple statement does not work. I keep having an error. If I put integer value directly into @MyYear, it is fine. What is wrong in here? Somebody help me!
I have a strange problem that I think deals with security on SQL 2005.I have a scheduled task that runs on a Windows 2000 machine. It callsa vb script which creates a connection to SQL Server.We migrated a database from SQL 2000 to 2005 which is on a differentbox. I changed the connection in the vb script to use the new sqlserver. The original connection to SQL 2000 used the 'sa' accountcoded into the connection string , which we don't want to use on thenew server, so I changed the connection string in the script to usethe below login information.Const strConnection = "Provider=SQLOLEDB;DataSource=SQLServer;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=database;I created a domain user and gave it dbo rights on the new database onSQL 2005 as well as administrative rights on the local machine and thenetwork. The task runs fine for a while and then it will fail tostart. I have looked in the event log as well as the SQL log and havenot found anything else that ran when my task failed. Once it hasfailed, if I manually run the vb script on the 2000 machine, it runsjust fine, but the schedule won't work. If I change the name of theuser that is running the scheduled task, it will begin working again.I have run the profiler on SQL 2005 and watched the scheduled tasklogin as the correct user and update the database. There is nopattern to when the scheduled task will stop running. This has beenhappening for a few days now.This script and scheduled task worked fine for over a year on themachine when it logged into SQL 2000 and nothing else has changed,which makes me think it is related to the SQL 2005 server. Any ideas?
I have a variable in SSIS that I want to access inside the Script Task. I assigned the variable in the ReadOnlyVariables in the Script Task property. How do I access it?
I'm trying to access data from within a Script Task. I need to create a dynamic IN statement based on the data within a table in my database. Basically, I want to connect to this table, lop through the rows and create the IN statement for use in another query.
I have a SQL Connection in the package using Native OleDB. Can someone walk me through the best way to use this connection to select data from a table within the Script Task?
So in a script task for one of my packages I have a connection manager to an dtsConfig OLE DB.
This is the code
Dim ConnectionString As String = Dts.Connections("db_stage").ConnectionString Dim sqlConnection As SqlConnection = New SqlConnection(ConnectionString )
I get a login failed for user...But if I hardcode the connectionString, including the password this works.
1) Why is it that the ConnectionString from the connection manager omits this password? 2) Since this is an OLE DB, is there anyway to set the Data Source Designer to omit the "Provider=ABCDED.1" section?
When we assign security in SRS, in the user name field we have to type the domainusername manually. We cannot see the drop down of all the users in Active directory. Is it possible to configure SRS to get the names from Active directory. If we add any new users to our AD, it automatically refreshes at certain set intervals. I am talking to a similar function in Sharepoint. I browsed through a bit on this and think it is not possible. But I want to make sure that I am on the right path.
Can you please correct me if my understanding is right?
I appreciate your help and thank you for your time,
I'm using SSIS in Visual Studio 2012. My Execute SQL Task calls a Stored Procedure where I have a TRY-CATCH. Last week there was a problem and the CATCH was executed and logged an error to my error table, but for some reason the Execute SQL Task didn't fail. Is there a setting to make the Execute SQL Task fail when an SP encounters a failure?
In short, does the €œTransfer SQL Server Objects Task€? support distributed transactions?
In trying to use a €œTransfer SQL Server Objects Task€? in a container using a transaction on the container. The task is set to support the transaction. It is setup to copy table data from several tables from a non-domain server (sql server 2000) to a domain-based server (sql server 2005). I get an error stating, €œThis task can not participate in a transaction€?.
I am wondering if it means exactly what it says €“ this task in SSIS can€™t participate at all. Or does it mean that it won€™t in this scenario for some reason. I attempted a simple copy of data from mssql 2005 to mssql 2005 (same server) and the task still failed). MSDTC appears to be running properly on my machine and such (I can do a simple distributed transaction across linked server to the 2000 server in Query Analyzer (QA)). Also, MSDTC appears to be working on both servers with distributed transaction query tests in QA.
Here€™s the error info€¦
SSIS package "Development BusinessContacts and Products Migration.dtsx" starting. Information: 0x4001100A at Copy BusinessContacts Data: Starting distributed transaction for this container. Error: 0xC002F319 at Copy BusinessContacts database table data 1, Transfer SQL Server Objects Task: This task can not participate in a transaction. Task failed: Copy BusinessContacts database table data 1 Information: 0x4001100C at Copy BusinessContacts database table data 1: Aborting the current distributed transaction. Information: 0x4001100C at Copy BusinessContacts Data: Aborting the current distributed transaction. SSIS package "Development BusinessContacts and Products Migration.dtsx" finished: Failure. The program '[4700] Development BusinessContacts and Products Migration.dtsx: DTS' has exited with code 0 (0x0).
I need to add one of our servers to active directory. I found some documents on SQL 2000 but no good document on SQL 2005. Can you please guide me to the documentation for this? Thanks
I am running a vb.net application that is using the Web Service to issue Update Snapshot. There is a Windows account we are using as a Service account that has the proper permissions to Generate Events. The application is running on AutoSys on a 2003 server. I have confirmed that it will run under this users credentials manually by logging into the server as the user and firing the app. It works without a problem. This was using Default Credentials.
The AutoSys job is configured to run under this user's credentials. There are three ways I have executed this application
>>Through AutoSys running as the user with the proper permissions (this is in place of a Local Service account which is default for AutoSys. This windows user has local admin permissions on the AutoSys server as well as Generate Event permission as confirmed before) >>By logging into the server as Administrator and executing the app with "Run As..." set to the Windows ID >>By switching to new.NetworkCredentials and passing the hardcoded username/pass/domain
For all of the above scenarios - it fails
The ONLY time it successfully issues UpdateSnapshot is when I am logged in to the server as the user in question. In ALL other instances detailed above it fails and the following comes out of the event log
"Line 1: Incorrect syntax near 'MyDomainName'.
I have no idea why it is choking on the Domain Name in all three of those scenarios.
Do I need to impersonate that user through code when passing the Web Service credentials??
PLEASE PLEASE PLEASE help - I need to wrap this up. ANY HELP WOULD BE GREATLY APPRECIATED
I recently installed Integration Services on one of our SQL 2005 servers running SP2. For starters I keep getting a warning message during the system test that indicates that there is a difference between the version that is installed and the version I am trying to install. I am using the same media I used for the initial server installation. I am assuming that this message is showing up due to the fact that the media is pre SP 2 and the server is now running SP2 allong with build/hotfix #3200. None the less the installation seems to have completed without errors. The problem I am having is when I connect to Integration services and try to expand the different directories I get the following error
TITLE: Microsoft SQL Server Management Studio ------------------------------ Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 ------------------------------ ADDITIONAL INFORMATION: Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) (Microsoft.SqlServer.DTSRuntimeWrap) ------------------------------ Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)) (Microsoft.SqlServer.DTSRuntimeWrap) ------------------------------ BUTTONS: OK ------------------------------
I have tried a number of different fixes that i have found on the web but none have resolved the issue. If there is anyone out there that has experienced this issue and has been able to resolve it your feed back would be greatly appreciated.
i am having a problem while executing XML Query. Im using Sql Report Server 2005 and accessing WCF(.SVC) file.
my connection string is : http://localhost:4278/ITV.CSF.FaultHandlingDemo.Host/FetchEntityService.svc?wsdl while trying to execute connection string is not showing any error.
When i am writing query in Query String and when i try to execute it showing "Failed to execute web request for the specified URL.".
my Query string is <Query> <Method Namespace="http://ITV.CSF.FaultHandlingDemo.ServiceContracts/2007/09/" Name="ReadDataFromDataSet"/> <SoapAction>http://ITV.CSF.FaultHandlingDemo.ServiceContracts/2007/09/ReadDataFromDataSet</SoapAction> </Query>
The permissions granted to user 'xxxxyyy' are insufficient for performing this operation. When a user is deleted and then readded to active directory. Reporting services returns the insufficient permissions granted error. In dbo.users in the sql database there are 2 entries for the deleted user one with UserType 0 and another with UserType 1. How do you clean up reporting services or sql to allow the reciently re-added user to re-connect to reporting services. We use the MY-Reports option of reporting services but cannot delete the home directory for this user either in report Mgr. The same error is returned for this action.
I am working on the security model for an application that will be used by 100s of users with a dedicated SQL 2005 database for this application and access via SQL XML Web Services.
The client has asked to make it "open" during alpha testing such that anyone can access the web services without having to set them up first. Is there a way to do this? The best I can figure is to use mixed mode security and hard code a login and password. Any method using Windows authentication would require that I add every user at a minimum to the database.
In production, all users will have an active directory role specified that determines if they should have access to the web services or not. However, it is my understanding that to use Windows authentication, I would still need to add each individual user at a minimum as a Login to the SQL Server, and under best practices also as database users with permissions granted to the endpoint.
Am I correct in the above, or is there a more efficient way to achieve these results?
I have a table report which has 10 fields as cols.The last 2 fields come from 2 diffrent subreport, having a single field each. There are also 2 groups in this table. I have to limit the rows by checking each cell in a group is 0. If all the cells have got a 0 then hide the row. I can check for all the cells except the last 2(Subreport).
Since the last 2 cells has only got 2 subreports instead of a textbox( as it is the case for the remaining 8 cells), i don't know how to check for data returning from a subreport. For all the other textboxes i have checked it as ReportItems!textbox1.value=0
I have installed SQL Express 2K5 with Reporting Services on a server (on our private LAN) running Server 2003 with SP1.
I have requested our ISP to forward port 80 from one of our public IP addresses to the private IP address of the server - I am reasonably confident this is setup properly since they have successfully configured other port forwards for me in the past.
With that said, when I try to access the reporting web site from the internet, I receive an IE error message indicating "Internet Explorer cannot display the webpage." I am able to view the reporting website from within the LAN. Windows Firewall is currently disabled.
Am I missing something? Any suggestions/recommendations would be greatly appreciated.