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 Complete Forum Thread with Replies
Related Forum Messages:
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 !
Do Stored Procedures Have A Limit On Number Of Parameters Or Byte Size Passed In?
Hi,I'm using c# with a tableadapter to call stored procedures. I'm running into a problem where if I have over a certain byte size or number of parameters being passed into my stored proc I get an exception that reads: "Cannot evaluate expression because a thread is stopped at a point where garbage collection is impossible, possibly because the code is optimized." If I remove one parameter, the problem goes away. Has anyone run into this before? Thanks,Mark
View Replies !
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 !
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 !
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 !
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 !
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 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 !
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 !
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 !
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: 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 !
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 - 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 !
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 !
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 !
Sql 2005 Install Error. MODIFY FILE Failed. Specified Size Is Less Than Current Size.
I installed sql 2005 a while back. Then I recently found out my file system was fat32 (I don't understand why the hardware people did this...) and I had to convert to NTFS. Naturally the sql service no longer worked so I uninstalled inorder to reinstall now I can't reinstall it I keep getting this message native_error=5039, msg=[Microsoft][SQL Native Client][SQL Server]MODIFY FILE failed. Specified size is less than current size. I'll try to post the full log in a new post.
View Replies !
Error - Output Param - SP - Size Property Has An Invalid Size Of 0
Using C#, SQL Server 2005, ASP.NET 2, in a web app, I've tried removing the size from parameters of type NCHAR, NVARCHAR, and VARCHAR. I'd rather just send a string and let the size of the parameter in the SP truncate any extra chars if need be. I began getting the error below, and eventually realized it happened only with output parameters, as in the code snippet below.String[3]: the Size property has an invalid size of 0. par = new SqlParameter("@BusinessEntity", SqlDbType.NVarChar); par.Direction = ParameterDirection.Output; cmd.Parameters.Add(par); cmd.ExecuteNonQuery();What's the logic behind this? Is there any way around it other than either finding out what the size should be, or assigning a size larger than would ever be needed? ThanksMike Thomas
View Replies !
SPROC Problem - String[1]: The Size Property Has An Invalid Size Of 0.
Hi folks,Can anyone enlighten me here? I'm trying to use a SPROC which, when supplied with an int, looks up the table and returns certain columns from it. I'm using a SqlCommand, here's my codebehind: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ SqlCommand dataSource = new SqlCommand("retrieveData", new SqlConnection(dbConnString)); dataSource .CommandType = CommandType.StoredProcedure; dataSource .Parameters.AddWithValue("id", poid); dataSource .Parameters.AddWithValue("title", title).Direction = ParameterDirection.Output; dataSource .Parameters.AddWithValue("creator", creator).Direction = ParameterDirection.Output; dataSource .Parameters.AddWithValue("assignee", assignee).Direction = ParameterDirection.Output; etc, etc... And the SPROC:------------------------------------------------------------------------------------------------------------------set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[retrieveData] @id int, @title varchar(50) OUTPUT, @creator varchar(50) OUTPUT, @assignee varchar(50) OUTPUT, @contact varchar(50) OUTPUT, @deliveryCost numeric(18,2) OUTPUT, @totalCost numeric(18,2) OUTPUT, @status tinyint OUTPUT, @project smallint OUTPUT, @supplier smallint OUTPUT, @creationDateTime datetime OUTPUT, @amendedDateTime datetime OUTPUT, @locked bit OUTPUT AS /**SET NOCOUNT ON; **/ SELECT [title] AS [@title], [datetime] AS [@creationDateTime], [creator] AS [@creator], [assignee] as [@assignee], [supplier] as [@supplier], [contact] AS [@contact], [delivery_cost] AS [@deliveryCost], [total_cost] AS [@totalCost], [amended_timestamp] AS [@amendedDateTime], [locked] AS [@locked] FROM purchase_orders WHERE [id] = @id; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ The id being passed in is definately not null, and is set to a value of an item I know exists. The resulting error is: Exception Details: System.InvalidOperationException: String[1]: the Size property has an invalid size of 0.Line 63: retrievePODetails.Connection.Open();Line 64: retrievePODetails.ExecuteNonQuery();[InvalidOperationException: String[1]: the Size property has an invalid size of 0.] System.Data.SqlClient.SqlParameter.Validate(Int32 index) +717091... ... Can anyone see anything I'm missing? Thanks,Ally
View Replies !
Reduce The File Size Less Then Original Size In SQL 2000
I have one db test with one .mdf and .ldf file...mdf file size is 100mb and for some reson i removed all the tablesfrom that .mdf file and transfer it into new secondary file so all thetables moved into secondary file now i want to reduce the first .mdffile from 100 mb to 50mb is that possible,it's showing 90mb is free.Please reply
View Replies !
Optimal RAID Stripe Size And OS Cluster Size?
I need to setup HP NetServer, which will run mainly SQL 7 on Win2K (it'll also run an aplication server, which would connect to SQL but it wouldn't take too much resources). The server has 3 ULTRA3 SCSI 18GB, 10.000rpm hard drives connected to HP NetRAID-1M Controller. To provide some redundancy I basicaly have just one choice: RAID5. But what would be the optimal RAID stripe size and Windows cluster size to provide the best performance for SQL Server? Controller support stripe sizes from 2KB up to 128KB. So far I expect to set 64KB stripe size and have a couple partitions: - one, with 4KB cluster size, for OS, SQL binaries, logs and all other program and auxiliary fiiles, - another one, with 64KB cluster size, for SQL databases and transaction logs. Is it the best possible disk configuration considering available hardware? Thank you for any comments/suggestions. Victor
View Replies !
Encrypted Data Size By Original Size, Algorithm ?
I want to know encrypted data's size for designing database field size. For example, cardnumber varchar(20) Encrypted by Triple_DES and PassPhrase, How match size does need to encrypted data store field. I think the size does not depend to PassPhrase char length. Regards, Yoshihiro Kawabata
View Replies !
Best Practice For Data Size/Log Size Ratio
Just wanted to know what is a general rule of thumb when determining log file space against a database's data file.We allow our data file for our database to grow 10%, unlimited. We do not allow our log file to autogrow due to a specific and poorly written process (which we are in a three month process of remove) that can balloon the log file size.Should it be 10% of the Data file, i.e. if the Date file size is 800MB the log file should be 8MB?I realize there are a myraid of factors that go against file size but a general starting point would be nice.ThanksJeff--Message posted via http://www.sqlmonster.com
View Replies !
Estimating Data Size And Log Size In A Database
Question 1: I wonder if anyone could help me on estimating the acutal data size and its log size for MS-SQL Server version 7. I know that on-line book specifies the procedure of the data size but I have some data items with attribute of data type as "Text". In order to include the data type "Text" how many bytes of overhead and fill factor to be considered for data size calculations? Question 2: Also, I want to know that if anyone can help me with log size calculation for a table. It's just not good enough if the on-line book says to take from 25 to 50 % or something....it is too vague and I can not take the answer. Here are the example of the table and if anyone can include the answers to the questions above. It will be great. (Example:) Can anyone help me to figure out the data and log size respectively based on the conditions below: ---------------------------------------------- 1. Table Name: A_TBL 2. Table Format: Item Data Type Length -------------------------------------------------------- EmployeeNumber Char 20 EmployeeName Char 50 EmployeeURL TEXT 16 -----pointing---> 256 EmployeeMemo TEXT 16 -----pointing--->1000 EmployeeTitleNo Int 4 3. DB(Table) access frequency per transaction: Insert = 1 time/transaction Update= 2 times/tranaction Select = 6 times/tranaction 4. Transaction occurred: 10 times, therefore; 10 INSERT, 20 UPDATE, 60 SELECT statements are issued. (I guess 60 SELECT statements are not subject to be in the log so forget the SELECT statement) 5. Fill Factor 100 for all the data type. 6. Non-Clustered index is set for the above. I really want to know about it, please help me on this. Regards,
View Replies !
Size Of Backup Is Less Than Size Of Database
any of you know why the size of the database dump (prod_dump.dat) is less than the size of the database (prod) prod size is 3000 MB ( in EM and sp_helpdb) used is 1092 MB ( datasize - data available ) however e:dumpproddump.dat is only 1.5 GB and the backup task completes with no errors. why the discrepancy??
View Replies !
DB Size Not The Actual Physical Size
Hi, An MSSQL DB running SAP indicates a smaller DB size (MMC & SAP) than the actual physical size. The difference is about 8 GB. A lot of records were deleted before this. Did they remain in the DB as NULL values or something ? Does anyone know what the reason for this could be ? And how to clean this up ? Thanks in advance, Paul
View Replies !
Table Size And Database Size
Hi, i use this script that show me the size of each table and do the sum of all the table size. SELECT X.[name], REPLACE(CONVERT(varchar, CONVERT(money, X.[rows]), 1), '.00', '') AS [rows], REPLACE(CONVERT(varchar, CONVERT(money, X.[reserved]), 1), '.00', '') AS [reserved], REPLACE(CONVERT(varchar, CONVERT(money, X.[data]), 1), '.00', '') AS [data], REPLACE(CONVERT(varchar, CONVERT(money, X.[index_size]), 1), '.00', '') AS [index_size], REPLACE(CONVERT(varchar, CONVERT(money, X.[unused]), 1), '.00', '') AS [unused] FROM (SELECT CAST(object_name(id) AS varchar(50)) AS [name], SUM(CASE WHEN indid < 2 THEN CONVERT(bigint, [rows]) END) AS [rows], SUM(CONVERT(bigint, reserved)) * 8 AS reserved, SUM(CONVERT(bigint, dpages)) * 8 AS data, SUM(CONVERT(bigint, used) - CONVERT(bigint, dpages)) * 8 AS index_size, SUM(CONVERT(bigint, reserved) - CONVERT(bigint, used)) * 8 AS unused FROM sysindexes WITH (NOLOCK) WHERE sysindexes.indid IN (0, 1, 255) AND sysindexes.id > 100 AND object_name(sysindexes.id) <> 'dtproperties' GROUP BY sysindexes.id WITH ROLLUP) AS X ORDER BY X.[name] the problem is that the sum of all tables is not the same size when i make a full database backup. example of this is when i run this query against my database i see a sum of 111,899 KB that they are 111MB,but when i do full backup to that database the size of this full backup is 1.5GB,why is that and where this size come from? THX
View Replies !
Unable To Cast Object Of Type 'System.DBNull' To Type 'System.Byte[]'.
Hi, I have developed a custom server control for .NET Framework 2.0. The server control has a property named BinaryData of type byte[]. I marked this property to be data bindable. Now, I have varbinary(Max) type of field in my SQL Database and I have used SQLDataSource and bound this varbinary(Max) field with the property BinaryData (byte[]) of my control. It is working fine as long as the data value is not NULL. Now, In my control, I have handled the NULL value so that no Exception is thrown. Still, when I bind this property using the SQLDataSource, I get Error "Unable to cast object of type 'System.DBNull' to type 'System.Byte[]'." I am not sure if I can do anything to stop this erro within my control. If it is not possible from the control, then what is the workaround that I can do in my ASPX page in order to stop this error ? Thanks a lot in advance.
View Replies !
Sql Size Vs. Access Size
I have a SQL Server database that is showing 2853.44 mb in size but when Iexport the data into MS Access the size is less than 1 mb. Can anyone tellme how to reduce the size of my SQL Server database so that it's less than15 mb?Thanks in advance! Rob
View Replies !
Getting Database Size And Log Size
Hi, I am using exec sp_helpdb go dbcc sqlperf(logspace) for getting database size and log size. Is this gives the correct database size and log size or Is there any other way to get the logsize and database size by means of query analyzer. Thanks in Advance. Seenu. S
View Replies !
|