Ftp Task- 0 Byte File
hi,
i'm using FTP task in my control flow and using *.xml to receive all files at a particular ftp location. Often I see that a 0 byte file is created by the IS package, instead of transferring the file. Is this a known bug? Is there a way to circumvent it? Also, on one of the occasions, the package just hanged for about 60 minutes (while atttempting to receive the file). FTP Connection timeout was set to default (60 sec), I wonder why the FTP task didnt return a timeout error!
Any clues?
regards,
Ali
View Complete Forum Thread with Replies
Related Forum Messages:
Help With Error 'value Of Type Byte Canot Be Converted To 1 Dimensional Array Of Byte'
hi i am getting an error with my code, it says 'value of type byte canot be converted to 1 dimensional array of byte' do you know why and how i can correct this error, the follwoing is my code. can anyone help me correct the error and let me know ow to solve it thanks for any help givenPublic Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequestDim myConnection As New Data.SqlClient.SqlConnection("ConnectionString") myConnection.Open() Dim sql As String = "Select Image_Content from ImageGallery where Img_Id=@ImageId"Dim cmd As New Data.SqlClient.SqlCommand(sql, myConnection)cmd.Parameters.Add("@imgID", Data.SqlDbType.Int).Value = context.Request.QueryString("id") cmd.Prepare()Dim dr As Data.SqlClient.SqlDataReader = cmd.ExecuteReader() dr.Read() context.Response.ContentType = dr("imgType").ToString()context.Response.BinaryWrite(CByte(dr("imgData"))) ----- this is the line with the error End Sub
View Replies !
From Byte[] To A .rdl File
Hi, Can we regenerate a .rdl file based on the byte[] stream created by Render method? user sends the report name with parameters to application server and it is application server sends the request to Reporting Server and get the report back (Render method). But how to pass the returned byte[] stream to user and show her/him a report?
View Replies !
Going From Byte() To File Open Of Download
Hello, I'm having users upload documents to my db and storing them as an Image datatype, I can do that without an issue. I'm also able to find that record and return it as a byte(). Now, what's the best practice/scheme to return it to the browser, even FF, and have it prompt the user with the Open or Download thing Dialogue we all know and love. Thanks in advance.
View Replies !
Bulk Insert From Zero Byte File
Ok, hope someone has an idea out there. I have eight fixed width text files that I am importing into SQL 2000 tables in stored procedures called from a vb.net program. Problem is one of the files stands a good chance of being 0 k. As of I now i call one stored proc that then calls one proc for each file. If i try to run it anyhting after the zero byte file fails to import. If i remark it out everything else imports. I check for file.exists on the vb.net and the file passes the test. Any way to handle the 0 byte on the proc side
View Replies !
DTS Package - How To Prevent A 0 Byte File?
I've created a DTS package -- that uses a query to export to a .txt file. My question is -- if the results of this query are zero (no results returned within the package ) -- how can I tell the package not to export a zero byte file. Any thoughts on that? Any help you could give would be greatly appreciated. Thanks!
View Replies !
DTS - Zerp Byte File Import And DontExecuteTask
Hi, I'm a bit new to DTS but the problem I have encountered relates to importing a text file. On occasion the file is zero bytes which causes an error in DTS. I have added some VBScript to the workflow to check the filesize. If size > 0 then I set Main = DTSStepScriptResult_ExecuteTask otherwise Main = DTSStepScriptResult_DontExecuteTask. This all works fine except that when the file is 0 the dependent process that is waiting for completion/success does not run, presumably because the task was not run (as reqd). I have tried setting the status rather the DontExecuteTask but then the task runs anyway creating the error. Anyonw know how to get this to work or how to get around the problem? regards Ken
View Replies !
Writing Byte Stream To Flat File Destination (ebcdic)
Hello all, I was trying to run a test to write a ebcdic file out with a comp - 3 number (testing this for other people) and have run into a problem writing the string out to the flat file destination. I have the following script component: Code Block ' Microsoft SQL Server Integration Services user script component ' This is your new script component in Microsoft Visual Basic .NET ' ScriptMain is the entrypoint class for script components 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 CreateNewOutputRows() ' ' Add rows by calling AddRow method on member variable called "Buffer" ' E.g., MyOutputBuffer.AddRow() if your output was named "My Output" ' Output0Buffer.AddRow() Dim myByteArray() As Byte = {&H12, &H34, &H56, &H7F} Output0Buffer.myByteStream = myByteArray Output0Buffer.myString = "ABCD" Output0Buffer.myString2 = "B123" myByteArray = Nothing End Sub End Class I have added myByteStream as a DT_BYTES length 4, myString as (DT_STR, 4, 37) and myString2 as (DT_STR, 4, 37) to the output 0 buffer. I then add a flat file destination with code set 37 (ebcdic us / canda) with the corresponding columns using fixed width. When i place a dataviewer on the line between the two the output looks as I expect ("0x12 0x34 0x56 0x7F", "ABCD", "B123"). However, when it gets to the flat file destination it errors out with the following: Code Block [Flat File Destination [54]] Error: Data conversion failed. The data conversion for column "myByteStream" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page.". If i increase the size of the byte stream (say, to 50) the error goes away but I am left with the string "1234567F" instead of the appropriate hex values. Any clues on how to go about this? I obviously don't care if it gets transferred to "readable" text as this is supposed to be a binary stream, thus the no match in target page seems superfulous but is probably what is causing the problems. NOTE: this is relating to the following thread (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2300539&SiteID=1) in that I am trying to determine why these people are not seeing the "UseBinaryFormat" when importing an EBCDIC file (i see this fine when i use an ftp'd file, but it auto converts to ascii) with comp-3 values. I also see the "UseBinaryFormat" when I am importing a regular EBCDIC file which I create that has no import errors with zoned decimals.
View Replies !
SQL2005 Data Import Error, Unicode Data Is Odd Byte Size For Column &&<n&&>. Should Be Even Byte Size
Hi, I have a problem importing data from SQL Server 2000 'text' columns to SQL Server 2005 nvarchar(max) columns. I get the following error when encountering a transfer of any column that matches the above. The error is copied below, Any help on this greatly appreciated... ERROR : errorCode=-1071636471 description=An OLE DB error has occurred. Error code: 0x80004005.An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Unicode data is odd byte size for column 3. Should be even byte size.". helpFile=dtsmsg.rll helpContext=0 idofInterfaceWithError={8BDFE893-E9D8-4D23-9739-DA807BCDC2AC} (Microsoft.SqlServer.DtsTransferProvider) Many thanks
View Replies !
Writing Full Result Set From Execute SQL Task Into A File Using Script Task
In the Control flow tab, I have an Execute SQL Task that outputs full Result set into a variable of an object type. Now how can I write the contents of the Full Result Set into a text file using Script Task. I also want to format the following way while I output into a file: Column Name 1 : Column Value Column Name 2: Column Value and so on I tried writing the contents of the Object Variable into a file, but the file had an output of single word: System.__ComObject. Code for Writing the Full Result Set into a Text File Dim RSsqloutput as String = Dts.Variables("objVariable").Value.ToString Dim strVal as String = "File completed on " & Now() & vbCrLf & "------------------------------------------------------" & vbCrLf oLogFile.WriteAllText("C:MyFile.txt", strValue) oLogFile.WriteAllText("C:MyFile.txt", rsSQLOutput) I went through this link that explains how to write XML Result Set into a File, But this doesn't help as it writes in XML format. Would you please give me a hint of code how I can go upon.
View Replies !
File Watcher Task (Konessans) Vs For Each Loop Task
HI, I need to trigger some packages upon existance of specific files in a particular directory. Sound lkike the file watcher task (from SQLIS) would do the job but I am wondering what is the difference of using this tool instead of a for each loop container. I mean, If a file exists in a directory, the for each loop container will detect it. Since the file watcher is not a service, the package containing it needs to ne scheduled on a regular basis for the filewatcher to detect the file, right? So, a for each loop container would do the job? So, waht wouldbe the advantage of using the file watcher task? Thank you, Ccote
View Replies !
New 2005 SSIS Task: File Properties Task
A common issue that I run across with clients is they want only want to process a file if it's finished transmitting to the server. This SQL Server 2005 task reads the properties of a file and writes the values to a series of variables. For example, you can use this task to determine if the file is in use (still be uploaded or written to) and then conditionally run the Data Flow task to load the file if it's not being used. You can also use it to determine when the file was created in order to determine if it must be archived. http://www.pragmaticworks.com/filepropertiestask.htm
View Replies !
Script Task To Compare File From FTP With File On Local Archive Behaved Strangely!
In my script task I have the following code. The task I'm trying to accomplish is: If the filename on FTP can be found in the local archive folder of e: drive then show message "FileAlreadyThere" (I will ultimatley change it to do nothing); if the filename on FTP cannot be found in the local archive folder of e: drive then transfer the file to the local package folder on d: drive. While the script task is executing I was watching it closely, but the problem i saw is that: If some files on FTP are already in local archive folder and some are not, then it the files which are already in the archive folder are dumped to the package folder; then after that the files which are not in the archive folder are then dumped to the package folder. But I only want the new files on FTP to be transferred to the package folder for further processing. Then after this is finished, I saw all the files in the package folder are refreshed one after another, after the first round of refresh the second round starts, after the second round finishes it then stopped. I saw it refreshes itself because the 'Date Modified' of the file changes. And I saw the script task turned green. I don't see how the code below produced this result. Something is wrong in the logic of the loop? Anyone has any idea why it's behaving the way it is now? And how to change the code to accomplish what I want? Thanks a lot!! -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Imports System Imports System.IO Imports System.Data Imports System.Math Imports Microsoft.SqlServer.Dts.Runtime Public Class ScriptMain Public Sub Main() Dim cm As ConnectionManager = Dts.Connections.Add("FTP") cm.Properties("ServerName").SetValue(cm, "ftp2.name.com") cm.Properties("ServerUserName").SetValue(cm, "username") cm.Properties("ServerPassword").SetValue(cm, "password") cm.Properties("ServerPort").SetValue(cm, "21") cm.Properties("Timeout").SetValue(cm, "0") cm.Properties("ChunkSize").SetValue(cm, "1000") '1000 kb cm.Properties("Retries").SetValue(cm, "1") Dim ftp As FtpClientConnection = New FtpClientConnection(cm.AcquireConnection(Nothing)) ftp.Connect() ftp.SetWorkingDirectory("/directory") Dim fileNames() As String Dim folderNames() As String ftp.GetListing(folderNames, fileNames) If fileNames Is Nothing Then MsgBox("NoFileOnFTP") Else Dim fileName As String For Each fileName In fileNames If File.Exists("c: emp" + fileName) Then MsgBox("FileAlreadyThere") Else ftp.ReceiveFiles(fileNames, "c: emp", True, True) End If Next End If ftp.Close() End Sub End Class
View Replies !
File System Task - Move File With Dynamic Destination Path
I am having an issue with the File System Task. I was wondering if there is a way to 'Move File' with the File System Task inside of a For Each Loop container but to dynamically set the Destination path variable. Currently, this is what I have: FileDestinationPath variable - set to C:TestFiles FileSourcePath variable - set to C:TestFiles FileNameAndLocation variable - set to blank For Each Loop Container €“ Iterates through a folder C:TestFiles that has .txt files in it with dates in the file name. Ex: Test_09142006.txt. Sets the file path (fully qualified) to the Variable Mapping FileNameAndLocation. Script Task (within For Each Loop, first step) €“ Sets the FileDestinationPath to the correct dated folder within C:TestFiles. For example, if the text files I want to move are for the 14th of September, it takes FileDestinationPath and appends the date folder to the end of it. The text files have a date in the file name (test_09142006.txt) and I am picking this apart (from FileNameAndLocation in the For Each Loop) to get the folder date. (dts.Variables(€œUser::FileDestinationPath€?).Value = dts.Variables(€œUser::FileDestinationPath€?).Value & €œ€? Month & €œ_€? & Day & €œ_€? & Year & €œ€?) which gives me €œC:TestFiles 9_14_2006€?. File System Task (within For Each Loop, second step) €“ This is where the action is supposed to occur. I want it to take the FileDestinationPath and move the FileNameAndLocation file (from the For Loop) into this folder for each run. Now as for my problem. I want this package to run everyday but it has to set the FileDestinationPath variable dynamically according to that day€™s date. Basically, how do I get this to work since I can€™t hard code the destination path variable from the start? I have the DestinationVariable on the File System Task set to the FileDestinationPath variable, after the script task builds it. However, using FileNameAndLocation as the SourceVariable on my File System Task tells me that the €œVariable €œFileNameAndLocation€? is used as a source or destination and is empty.€? Let me know if I need to clarify further€¦...I may be missing something very simple. Any help would be greatly appreciated!
View Replies !
Help Getting Error When Using Operation Rename A File In The File System Task Editor?
Does anyone know how to do this using variables? Everytime I try it, I get the Error: Failed to lock variable for read access with error 0xc00100001. I also tried it writing a script and still the same error. If I hard code the values into the variables it works fine but I will be running this everday so that it will pull in the current date along with the filename. So the value of the variables will change everyday. Here is my expression: @[User::Variable] +(DT_WSTR,4) YEAR( GETDATE() )+"0"+(DT_WSTR,2) MONTH( GETDATE() ) + (DT_WSTR,2) DAY( GETDATE() ) The result: C:Documents and SettingsmroushDesktopOSU20060818 the 20060818 part will change everyday ie.(tomorrow will be 20060819, next day 20060820 and so on.)
View Replies !
SSIS FTP TASK (sending File Appends Underscore To Front Of File)
I'm attempting to use the FTP task to send a .txt file to OPEN VMS. The file is successfully PUT, but an underscore is appended to the front of the file. In SQL 2000 DTS, I was using a cmd file to conduct the FTP and this worked properly. I wanted to eliminate the cmd file in SQL 2005 SSIS. original file: DELETEME.TXT when put on VMS: _DELETEME.TXT
View Replies !
File Name Includes File Path In DTS Send Mail Task - Help
I have an issue with a DTS package. We create a zip file and then attach it to emails going out using DTS. The problem is that the attachment, when received, is named using the full path to the file, so it is quite long. Has anyone seen this before? Is there a way out of this? I am considering mapping a drive to the share holding the file to be named, but the fact is this will shorten the name but will still result in the path being included. I am wondering if this is a bug, as I suspect this isn't the default behaviour. Thank you in advance. Dave
View Replies !
File System Task - Output File Variable Syntax????
Hi This should be incredibly simple and easy, but I can't find any examples of how to do this. I just want to make a File System Task move a file, and have the destination be filename + date and time. For example \serversharefilename02072007.txt What syntax do I use in a variable to make this work? Thanks
View Replies !
URL Location Of The WSDL File For Web Services File Task
I am finding that in order to have the Web Services Task work successfully the location of the WSDL file has to be on a local drive that SSIS is executing upon. Is the current intended behavior? In my SSIS task I use a URL path to store information extracted from the Web Service. The information is stored on a different server than the one that SSIS is running upon. This works properly without error. I have confirmed that SSIS has appropriate permissions to read/write to that directory on that server. When I attempt to reference the WSDL file (located in the same URL directory that I am saving the information) I get a web services error, 'The Web Services Name is empty, Verify that a valid web service name is available." When I update the Web Service Task attribute to point to the WSDL file located on a local drive it works correctly. I have confirmed that both WSDL documents are exactly the same. The behavior seems a little strange...so I must be missing something subtle. ...cordell...
View Replies !
File System Task - Dynamic Source File Name
Hi All, I have a source files folder where the files generated everyday. My goal is pick the latest file and copy this single file to another folder. I used the Foreach loop container and got the latest file and stored the file name to a varible i.e. LatestFile Then i want to use the File System Task to copy this to the destination. On the beginning, I could not setup the Latestfile since I don't its name then, so when I setup the Source Connection property of the File system task, it is not allowed to leave the SourceVarible as blank! Any suggestion? Thanks Micor
View Replies !
Move And Rename File With File System Task
Hello I want to move and rename a file and embed the date/time into it, so that each time the package runs a new file is created. For example MyFile_20060712_150000.doc. Can someone give me a hint how to do this with the File Systen Task SSIS Control Flow Item? Thanks for an early reply Regards Chaepp
View Replies !
File System Task - Moving A File
I have a File System Task that uses variables to resolve the destination and source paths of a document. When I select the 'copyfile' operation...the document is copied from the source to the destination without error. However when I change the property from 'copyfile' to 'movefile' I get an error and the document is not moved. The source and destination variables contain a valid file path name since the copy commmand is working as expected. However when I alter the properties of the File System task to move the document. I get the following error: Could not find a part of the path 'G:CommonInformation SystemsDropFilesrtNRT_ConfirmationOrder Confirmation Report_11062006.xlsOrder Confirmation Report_11062006.xls It seems a little nonsensical since the document file paths are valid when performing a copy. For some reason the error log is showing that that the file path is the document name "Order Confirmation Report_11062006.xls" and adding it twice to the the directory path called "'G:CommonInformation SystemsDropFilesrtNRT_Confirmation" as you can see in the above error message. To replicate the 'move' action...I added an extra File System Task that deletes the document once the copy has been performed. I would like some insight into why this doesn't seem to work. Thank you. ...cordell...
View Replies !
Renaming A File With File System Task
I'm having trouble working this out in SSIS. I am trying to use a File System task to rename a file using an expression so that file.zip will be renamed to filemmyy.zip at the end of every month (for instance this month would be file0506.zip). I am using the destination expression variable. But I'm not sure what to put for DestinationConnection. It seems to want a file name, but the file name is going to be variable, so I'm not sure what to put. Any ideas?
View Replies !
File System Task-Moving File
I have the following directories \servershare \serversharearchvie I have a for each file loop and inside it a data flow that pulls from one of the flat files in the directory and then a file system task. If I choose the "Move File" option in the file system task to move the file to the archive directory, it fails with an access denied message. The access denied message occurs after a message saying file was successfully deleted. I am running this from BIDS right now and my local user can write delete etc in both the above directories. However, if I do a "copy file" in the file system task it seems to work. I think what is happening is it is deleting the file first and then trying to move it, but it no longer exists because it has been deleted--is this possible? Is this a bug of some sort? For now I am going to workaround by putting in another file system task that deletes the files after they were copied and see how that goes, but would prefer just to do the "move" option. Thanks, Kayda
View Replies !
Using File System Task To Move A File
Hi All, I am having a problem using the file system task, what I am trying to achieve is to move a file after it has been processed . I am using a For each loop container to process bunch of files but I want to remove the files that have been processed after every loop.To achieve this I added a File System Task after my data flow task and was using the same variable used in the for each loop container as my source variable but the package is not being validated and is gives the following error "variable used as the source or the destination is empty" Appreciate your help Thanks
View Replies !
Byte[] Value In SQL Query...
Hi people,I have a little problem with this!There are some variables in C# code: int personID = 10; string personName = "Tom"; System.IO.BinaryReader reader = new System.IO.BinaryReader(FileUploadPersonPhoto.PostedFile.InputStream); byte[] personPhoto = reader.ReadBytes(FileUploadPersonPhoto.PostedFile.ContentLength); After that, there is a SQL query: string query = "INSERT INTO PersonTable (PersonID, PersonName, PersonPhoto) VALUES (" + personID + ", '" + personName + "', " + personPhoto + ")"; In Debug mode, value of the query is "INSERT INTO PersonTable (PersonID, PersonName, PersonPhoto) VALUES (10, 'Tom', System.Byte[])" and it does not work! Is there any prefix or something else that I should put and make it work?Thank you in advance!P.S. Do not want to use sql parameters at this piont!
View Replies !
SQL Binary To C# Byte[]
I have a binary column with length 20 in SQL server table. I store dynamically C# byte[] value range from 0 to 19. So for example, If I store length of 16 and when I try to retrive it back into byte [] in C# it returns whole length 20. When I see in debug it has value from 0 to 15 which I want to use but from 16 to 19 is zero. How can I get just length value which I stored. I use DataRow to get whole row and from the row object I extract byte [] based on column name. Thank you in advance....
View Replies !
DATEADD With 8 Byte Int?
I have a bigint column called "MillisecondsSince1970" that I need to convert to a date - SSIS is erroring out when I use DATEADD with the 8 byte int (if I use 4 byte it works but the column is bigger than 4 byte). The error is really lame: [Derived Column [79]] Error: The "component "Derived Column" (79)" failed because error code 0xC0049067 occurred, and the error row disposition on "output column "Date" (100)" specifies failure on error. An error occurred on the specified object of the specified component. Anyone have a way around it... a VB.NET equivalent of DATEADD or something else I can do?
View Replies !
CLR UDT Max Byte Size
Hello, I need some help working with CLR UDTs. I have created two UDTs called trajectory and point. Each trajectory consists of a list of points. Each point consists of three members : lon( type double), lat( type double) and datetime. I have written my own IBinarySerialize.Write method for the trajectory type which is the following: Dim maxSize As Integer = 4000 Dim value As String = "" Dim paddedvalue As String Dim i As Integer Dim pt As Point For i = 0 To point_list.Count - 1 pt = point_list.Item(i) If i = 0 Then value = value & pt.X & "|" & pt.Y & "|" & pt.D Else value = value & ">" & pt.X & "|" & pt.Y & "|" & pt.D End If Next paddedvalue = value.PadRight(maxSize, ControlChars.NullChar) For i = 0 To paddedvalue.Length - 1 Step 1 w.Write(paddedvalue(i)) Next If I try to store 225 points for a trajectory then the following error occurs: System.Data.SqlTypes.SqlTypeException: The buffer is insufficient. Read or write operation failed. Why is that happening? The limit size for a UDT is 8000bytes. Each point needs 24Bytes (2*SizeOf(double) + sizeOf(Datetime)). Please help ST
View Replies !
Cannot Convet Sql Image To Byte[]
I have followed many examples found on this site, but still get an invalid cast execption when I attempt to run code below. the exception is thrown when I try to convert the sql image to a byte[] in the download section of the code. // // sqlUploadImage // this.sqlUploadImage.CommandText = "INSERT INTO Image_Table (Description, Type, Lenth, DocName) VALUES (@Description," + " @Type, @Length, @DocName)"; this.sqlUploadImage.Connection = this.sqlConnection2; this.sqlUploadImage.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Description", System.Data.SqlDbType.VarChar, 50, "Description")); this.sqlUploadImage.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Type", System.Data.SqlDbType.VarChar, 50, "Type")); this.sqlUploadImage.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Length", System.Data.SqlDbType.Int, 4, "Lenth")); this.sqlUploadImage.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DocName", System.Data.SqlDbType.VarChar, 50, "DocName")); this.sqlUploadImage.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Image", System.Data.SqlDbType.Image, 16, "ImgField")); this.Button2.Click += new System.EventHandler(this.Button2_Click); // // sqlDownLoadImage // this.sqlDownLoadImage.CommandText = "SELECT Image_Table.* FROM Image_Table"; this.sqlDownLoadImage.Connection = this.sqlConnection2; //upload file private void Button1_Click(object sender, System.EventArgs e) { //Get the filename of the pdf file to be uploaded. string strFilename = File1.PostedFile.FileName.Substring(File1.PostedFile.FileName.LastIndexOf("\") +1); //Get the file type string strFileType = File1.PostedFile.ContentType; //Get the file size int intImageSize = File1.PostedFile.ContentLength; // Reads the Image Stream ImageStream = File1.PostedFile.InputStream; byte[] ImageContent = new byte[intImageSize + 1]; int intStatus = 0; intStatus = ImageStream.Read(ImageContent, 0, intImageSize); //Response.Write(strFilename.ToString()); //Response.Write("<br>Image Type: " + strFileType.ToString()); //Response.Write("<br>Image Size: "+intImageSize.ToString()); this.sqlUploadImage.Parameters["@Description"].Value = strFilename; this.sqlUploadImage.Parameters["@Type"].Value = strFileType; this.sqlUploadImage.Parameters["@Length"].Value = intImageSize; this.sqlUploadImage.Parameters["@DocName"].Value = "TestPDF"; this.sqlUploadImage.Parameters["@Image"].Value = ImageContent; try { this.sqlConnection2.Open(); this.sqlUploadImage.ExecuteNonQuery(); this.Label2.Text = "File Uploaded Successfully"; this.Button2.Visible = true; } catch(SqlException ex) { Response.Write(ex.ToString()); } finally { this.sqlConnection2.Close(); } } //download file private void Button2_Click(object sender, System.EventArgs e) { try { this.sqlConnection2.Open(); SqlDataReader r = this.sqlDownLoadImage.ExecuteReader(CommandBehavior.CloseConnection); if(r.Read()) { Response.ContentType = r["Type"].ToString(); byte[] image = (byte[])r["ImgField"]; Response.BinaryWrite(image); } } catch(SqlException ex) { Response.Write(ex.ToString()); } finally { this.sqlConnection2.Close(); } }
View Replies !
Doube Byte Characters
I want to store some double byte characters in a table. Originally I planed to change all data type of fields which will store double bytes from VARCHAR() to NVARCHAR(). But i just found out we have no problem to pull and store foreign content(double byte characters) in fields with VARCHAR type( the content is showing correct after stored in database) my question is : if VARCHAR can handle double byte character, what's the point of using NVARCHAR to store unicode character? any advice is appreciated. Michael ming.shi@factiva.com
View Replies !
Double-byte In MSSQL
Experts, i have trouble while insert/update a field which contains double-byte characters (Chinese Traditional). NO PROBLEM if i m using Enterprise Manager to view/edit the data. They are retrieved properly in the following: (1) Enterprise Manager (2) Query Analyzer (3) Visual Basic (4) Command prompt isql EACH of the Chinese words are become a qustion mark '?' if the UPDATE SQL or stored procedure executed in the following: (2) Query Analyzer (3) Visual Basic WHILE (4) Command prompt isql does not have the problem for the same UPDATE SQL and stored procedure. Do you have any idea?
View Replies !
Create Certificate From Byte[]
Hi, Just wondering if anyone knows if you can create a certificate from a byte[]. For example, you can create an assembly using CREATE ASSEMBLY FROM 0x...; specifying the hex representation of it - can you do the same with a certificate? This means that you don't need to save the file to disk before loading it into the database. Cheers, Adam
View Replies !
Storing Byte Array In Sql Server
Hello, I am using .net 1.1 and sql server 2000. I want to store a byte array, but it seems that only a string is stored there. Code: SHA512 sha = new SHA512Managed(); byte[] ReturnedPasswordByte = sha.ComputeHash(ToCryptByte); MyGenericCommand.Parameters.Add("@Password", ReturnedPasswordByte); MyConnection.Open(); MyGenericCommand.ExecuteNonQuery(); MyConnection.Close(); If I select the record later, all I get is "System.Byte[]" (as string)
View Replies !
DTS: Handling Zero Byte Input Files
Good Day, I have a situation where I need to be able to gracefully handle zero byte text files to be processed by DTS (using ActiveX Script transformations). I have a job set up in SQL Server that executes several DTS packages, then executes a Transact SQL script to process the data imported by DTS. This all works fine, but there are instances where some of files have no data to be imported. This causes the entire job to fail -- I don't want to alter the job to continue on an error because there is a legimate potential for errors. I do, however, want to be to have the job continue if one of the DTS packages has no data to process. Is there a way (DTS object method, property) to check for the absence of data before the DTS package errors out? Any ideas would be greatly appreciated. Regards, Robin Sarac
View Replies !
Derived Column Can't Add 8-byte Integers
I'm having trouble adding a 4-byte integer with an 8-byte integer. Here's what I'm doing: Column Name: BIG_ID Derived Column: < add as new column > Expression: (DT_I8)[ID] + 840230000538058 Data Type: eight-byte signed integer {DT_I8] The error I get: The literal 840230000538058 is too large to fit into type DT_I4. The magnitude of the literal overflows the type. Then I try the expression: (DT_I8)[ID] + (DT_I8)840230000538058 and [ID] + 840230000538058 and get the same error. What am I doing wrong? Is it possible to add 2 8-byte integers in regular expression? Why does it still think the literal is DT_I4? Thanks, Michael
View Replies !
File Task And FTP Task
I have 2 questions regarding the file system task and the FTP task File System: Is there a way to delete a group of files within a directory? ie: I want to delete all files in directorty c:logs*.txt, is that possible? If not, is it possible to then call a BAT file without user interaction? I have a batch file that deletes files from a network share, but when I run my SSIS package the user is getting prompted which I can't have do to its going to be scheduled and run daily before anyone gets in the office. FTP: Again, batch file question. I have a batch file that is FTP files over from a directory. Is it possible to use the FTP task, to do this? I noticed that it can do one file at a time, but is there a way to bring everything over within that directory or do I need to create a new FTP task for all 200 files? thanks for any suggestions or recommendations
View Replies !
Help: 900 Byte Limit On Stored Procedure Parameter?
Hi,I have a .NET application that I want to save the Config.EXE contentsto my SQL database for remote review/testing. This config file is3700+ bytes long. I created a field in one of my tables with a VARCHAR4800 and then created a stored procedure that receives a parameter(also VARCHAR(4800).However it fails to write anything if the length of the value that Ipass is anything greater than 900. If I pass exactly 900 characters orless - the data is written to the field. If I pass 901 characters Iget nothing.I'm suspicious since it is exactly 900. I seriously doubt it's somelimitation of MS-SQL so I need a nudge in the right direction.Thanks
View Replies !
Breaking Data Into 1500 Byte Chunks
Hi, I have a text file (5 MB). It appears as a single line in a text editor. But actually it has records of 1500 byte length each. I want to strip it down to 1500 byte records. So 1500*3500 = 5 MB (approx). The record size is always 1500 bytes. Does anyone have a script that I can run on this file to achieve this break. Thanks
View Replies !
DTS Adding Byte To Columns During Table Migration
When migrating a table from Informix to SQL Server using DTS services, SQL Server adds an extra byte to the column lengths. Does anyone know why this happens and is there a way to prevent it? I'd like the source and target table to have the same column characteristics. Thanks.
View Replies !
Trying To Map To Tinyint - Single Byte Unsigned Int Not Working
I have an Excel spreadsheet that I eventually land into my staging table. In between, I'm attempting to get a date code from the Date table. I'm using a Lookup Transformation Editor and mapping the fiscal week of year and fiscal year name. I know the fiscal year name is fine. When I have both the fiscal year name and the fiscal week of year, the package fails on the lookup step. In a data conversion, I convert the fiscal week of year to a single byte unsigned integer. (In the Date table, the fiscal week of year is a tinyint.) I'm not sure what I'm doing wrong?
View Replies !
Connecting To Double Byte Progress (MFG-PRO) Databases From SSIS...
HelloWe use MFG-PRO as our ERP system which in turn uses Progressdatabases. In the old version of SQL 2000, using DTS packages, we usedto set the code page via command prompts and execute DTS packageswithin that command prompt to fetch data from our double byte ERPdatabases. In SSIS, we are able to connect and fecth data from NONDouble Byte databases, however, when we set the code page first andexecute via a command prompt the SSIS package, we get the followingerror. We used a ADO.NET connection to connect to our Source ERPSystem. Appreciate any help.ThanksJagannathan SanthanamMicrosoft (R) SQL Server Execute Package UtilityVersion 9.00.1399.06 for 32-bitCopyright (C) Microsoft Corp 1984-2005. All rights reserved.Started: 8:09:26 AMProgress: 2007-11-28 08:09:26.93Source: Data Flow Task 1Validating: 0% completeEnd ProgressError: 2007-11-28 08:09:27.15Code: 0xC0047062Source: Data Flow Task 1 DataReader Source [1]Description: System.Data.Odbc.OdbcException: ERROR [HYC00][DataDirect][ODBCPROGRESS driver]Optional feature not implemented.ERROR [HY000] [DataDirect][ODBC PROGRESS driver][PROGRESS]-219901ERROR [IM006] [DataDirect][ODBC PROGRESS driver]Driver'sSQLSetConnectAttr failed.ERROR [HYC00] [DataDirect][ODBC PROGRESS driver]Optional feature notimplemented..ERROR [HY000] [DataDirect][ODBC PROGRESS driver][PROGRESS]-219901ERROR [IM006] [DataDirect][ODBC PROGRESS driver]Driver'sSQLSetConnectAttr failed.at System.Data.Odbc.OdbcConnection.HandleError(OdbcHa ndle hrHandle,RetCode retcode)at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcCo nnectionconnection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)atSystem.Data.Odbc.OdbcConnectionFactory.CreateConne ction(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool,DbConnection owningObject)atSystem.Data.ProviderBase.DbConnectionFactory.Creat eNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)atSystem.Data.ProviderBase.DbConnectionFactory.GetCo nnection(DbConnectionowningConnection)atSystem.Data.ProviderBase.DbConnectionClosed.OpenCo nnection(DbConnectionouterConnection, DbConnectionFactory connectionFactory)at System.Data.Odbc.OdbcConnection.Open()atMicrosoft.SqlServer.Dts.Runtime.ManagedHelper.GetM anagedConnection(StringassemblyQualifiedName, String connStr, Object transaction)atMicrosoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnec tionManager90.AcquireConnection(Object pTransaction)atMicrosoft.SqlServer.Dts.Pipeline.DataReaderSourceA dapter.AcquireConnections(Object transaction)atMicrosoft.SqlServer.Dts.Pipeline.ManagedComponentH ost.HostAcquireConnections(IDTSManagedComponentWrapper90 wrapper, Object transaction)End ErrorError: 2007-11-28 08:09:27.16Code: 0xC0047017Source: Data Flow Task 1 DTS.PipelineDescription: component "DataReader Source" (1) failed validationand returnederror code 0x80131937.End ErrorProgress: 2007-11-28 08:09:27.16Source: Data Flow Task 1Validating: 33% completeEnd ProgressError: 2007-11-28 08:09:27.16Code: 0xC004700CSource: Data Flow Task 1 DTS.PipelineDescription: One or more component failed validation.End ErrorError: 2007-11-28 08:09:27.16Code: 0xC0024107Source: Data Flow Task 1Description: There were errors during task validation.End ErrorDTExec: The package execution returned DTSER_FAILURE (1).Started: 8:09:26 AMFinished: 8:09:27 AMElapsed: 0.859 seconds
View Replies !
Connecting To Double Byte Progress (MFG-PRO) Databases From SSIS...
Hello We use MFG-PRO as our ERP system which in turn uses Progress databases. In the old version of SQL 2000, using DTS packages, we used to set the code page via command prompts and execute DTS packages within that command prompt to fetch data from our double byte ERP databases. In SSIS, we are able to connect and fecth data from NON Double Byte databases, however, when we set the code page first and execute via a command prompt the SSIS package, we get the following error. We used a ADO.NET connection to connect to our Source ERP System. What shocks me is that this functionality works well in SQL Server 2000 DTS packages but not in the much publicized SSIS packages. The error messages are so cryptic as they used to be in DTS days and do not help a wee bit! Appreciate any help. Thanks Jagannathan Santhanam Microsoft (R) SQL Server Execute Package Utility Version 9.00.1399.06 for 32-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 8:09:26 AM Progress: 2007-11-28 08:09:26.93 Source: Data Flow Task 1 Validating: 0% complete End Progress Error: 2007-11-28 08:09:27.15 Code: 0xC0047062 Source: Data Flow Task 1 DataReader Source [1] Description: System.Data.Odbc.OdbcException: ERROR [HYC00] [DataDirect][ODBC PROGRESS driver]Optional feature not implemented. ERROR [HY000] [DataDirect][ODBC PROGRESS driver][PROGRESS]-219901 ERROR [IM006] [DataDirect][ODBC PROGRESS driver]Driver's SQLSetConnectAttr faile d. ERROR [HYC00] [DataDirect][ODBC PROGRESS driver]Optional feature not implemented . ERROR [HY000] [DataDirect][ODBC PROGRESS driver][PROGRESS]-219901 ERROR [IM006] [DataDirect][ODBC PROGRESS driver]Driver's SQLSetConnectAttr faile d. at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode r etcode) at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, Odb cConnectionString constr, OdbcEnvironmentHandle environmentHandle) at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOption s options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection own ingObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbC onnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection ow ningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection ou terConnection, DbConnectionFactory connectionFactory) at System.Data.Odbc.OdbcConnection.Open() at Microsoft.SqlServer.Dts.Runtime.ManagedHelper.GetManagedConnection(String assemblyQualifiedName, String connStr, Object transaction) at Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSConnectionManager90.AcquireCon nection(Object pTransaction) at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.AcquireConnection s(Object transaction) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostAcquireConnectio ns(IDTSManagedComponentWrapper90 wrapper, Object transaction) End Error Error: 2007-11-28 08:09:27.16 Code: 0xC0047017 Source: Data Flow Task 1 DTS.Pipeline Description: component "DataReader Source" (1) failed validation and returned error code 0x80131937. End Error Progress: 2007-11-28 08:09:27.16 Source: Data Flow Task 1 Validating: 33% complete End Progress Error: 2007-11-28 08:09:27.16 Code: 0xC004700C Source: Data Flow Task 1 DTS.Pipeline Description: One or more component failed validation. End Error Error: 2007-11-28 08:09:27.16 Code: 0xC0024107 Source: Data Flow Task 1 Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 8:09:26 AM Finished: 8:09:27 AM Elapsed: 0.859 seconds
View Replies !
How To: Store And Retrieve Images In A Database As A Byte Array.
I€™ve inherited a project from one of the guys on our team who will be out sick for a while. He developed two for marshaling data between System.Drawing.Image and System.Byte(). He€™s storing the byte array data in a database image field. I€™ve retrieved the byte array data from his database image fields and have successfully converted them to images using his ConvertByteArrayToImage method below. I have also converted and image to a byte array with his ConvertImageToByteArray method below and succfully stored the data in a database image field. However, when I retrieve the byte array data that I stored in the database the last line in his ConvertByteArrayToImage method throws an exception (Parameter is not valid). I€™ve not been able to find a working copy of his code that€™s storing the byte array data. Does anyone see anything I€™m overlooking? Imports System.Drawing Imports System.IO Public Sub InsertImage(ByVal pFilename As String) Try Dim lImage As Image Dim lBA() As Byte Dim lSQL As String Dim lQuery As Alcon.SQLServer.Database.clsQuery Dim lParameters As New Alcon.SQLServer.Database.clsParameters lImage = Image.FromFile(pFilename) ConvertImageToByteArray(lImage, lBA) ' Initialization lQuery = New Alcon.SQLServer.Database.clsQuery(mConnection) lSQL = "" lSQL += "INSERT INTO [TBL_PCL_LENS_DATA](" lSQL += "[SerialNumber], " lSQL += "[ProcessedDate], " lSQL += "[CartonLabelImage]) " lSQL += "VALUES (" lSQL += "@SerialNumber, " lSQL += "@ProcessedDate, " lSQL += "@CartonLabelImage " lSQL += ")" lParameters.Add("@SerialNumber", SqlDbType.VarChar, ParameterDirection.Input, mSerialNumber) lParameters.Add("@ProcessedDate", SqlDbType.DateTime, ParameterDirection.Input, Now) lParameters.Add("@CartonLabelImage", SqlDbType.Image, ParameterDirection.Input, lBA) ' Execute query lQuery.Execute(lSQL, lParameters) Catch ex As Exception Throw End Try End Sub ConvertByteArrayToImage(ByVal pBA() As Byte, ByRef pImage As Image) Try ' Declaration Dim lMS As MemoryStream ' Initialization lMS = New MemoryStream(pBA, 0, pBA.Length) lMS.Write(pBA, 0, pBA.Length) lMS.Position = 0 ' Create image pImage = Image.FromStream(lMS, True) Catch ex As Exception Throw End Try End Sub ConvertImageToByteArray(ByVal pImage As Image, ByRef pBA() As Byte) Try ' Declaration Dim lBM As Bitmap Dim lBR As BinaryReader Dim lMS As New MemoryStream ' Initialization lBM = New Bitmap(pImage) lBM.Save(lMS, Imaging.ImageFormat.Png) lBR = New BinaryReader(lMS) ' Create byte array pBA = lBR.ReadBytes(lMS.Length) Catch ex As Exception Throw End Try End Sub
View Replies !
Searching A String With Asian Characters (double Byte)
My problem is that i can't search a field that contains Asian characters (Korean in this case). The table user_Access_tab have 2 keys: access_id nVarchar(50) user_id nVarchar(50) The sql query below is sent through a oledbcommand to a sql server 2005 database. "select access_id, access_right from user_Access_tab where user_id ='HQ001kimjo012007-05-07 ì˜¤ì „ 11:50:323401'" It doesn't show any hits even thogh i know there is a number of matching records. The question doesn't generate an answer in SQL server manager studio eigher. If i change the datatype on user_id to Varchar(50) the id is presented (in the database) as: HQ001kimjo012007-05-07 ?? 11:50:323401 Then the question works, but why doesn't it work with nVarChar(50)? Regards Martin Jonsson
View Replies !
|