﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » SQL vs ORACLE problem</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 01:13:20 GMT</lastBuildDate><ttl>20</ttl><item><title>SQL vs ORACLE problem</title><link>http://forum.strataframe.net/FindPost26729.aspx</link><description>[b]Partial code used to save the grid layout:[/b]&lt;br&gt;
            System.IO.MemoryStream memorySreamOrdersView = new System.IO.MemoryStream();&lt;br&gt;
            this.ultraGridFrontQueryOrdersView.DisplayLayout.Save(memorySreamOrdersView, Infragistics.Win.UltraWinGrid.PropertyCategories.All);&lt;br&gt;
            byte[] layoutArrayOrdersView = memorySreamOrdersView.ToArray();&lt;br&gt;
            tbl_UsrFrmCtrSq_1.USRFRMCTRSQ_FILESTREAM = layoutArrayOrdersView;&lt;br&gt;
            tbl_UsrFrmCtrSq_1.Save();&lt;br&gt;
&lt;br&gt;
[b]Partial code to load the grid layout:[/b]&lt;br&gt;
&lt;br&gt;
                byte[] layoutArrayOrdersView = tbl_UsrFrmCtrSq_1.USRFRMCTRSQ_FILESTREAM;&lt;br&gt;
                System.IO.MemoryStream memoryStreamOrdersView = new System.IO.MemoryStream(layoutArrayOrdersView);&lt;br&gt;
                memoryStreamOrdersView.Seek(0, System.IO.SeekOrigin.Begin);&lt;br&gt;
                this.ultraGridFrontQueryOrdersView.DisplayLayout.Load(memoryStreamOrdersView, Infragistics.Win.UltraWinGrid.PropertyCategories.All);&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
[b]In SQL the column type is VARBINARY(MAX) which in Strataframe BO is:&lt;br&gt;
new DataColumn("USRFRMCTRSQ_FILESTREAM", typeof(System.Byte[])),&lt;br&gt;
&lt;br&gt;
In Oracle the column type is BLOB which in Strataframe BO is:&lt;br&gt;
new DataColumn("USRFRMCTRSQ_FILESTREAM", typeof(System.Byte[]))};&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
This all works for SQL but in Oracle the code gets an error:[/b]&lt;br&gt;
&lt;br&gt;
[b]ORA-01459: invalid length for variable character string.[/b]&lt;br&gt;
&lt;br&gt;
[b]My question is whether you are aware of anything in SF that may be causing this error in Oracle. We have an Oracle DBA that can take the SQL table and successfully convert it including the binary stream to Oracle. It is just when the stream is being SAVED or LOADED from Oracle.[/b]&lt;br&gt;
DataLayerSavingException&lt;br&gt;
  ORA-01459: invalid length for variable character string&lt;br&gt;
&lt;br&gt;
OracleException&lt;br&gt;
  ORA-01459: invalid length for variable character string&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Source     : MicroFour StrataFrame Business&lt;br&gt;
&lt;br&gt;
Stack Trace: &lt;br&gt;
   at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)&lt;br&gt;
   at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor&amp; rowidDescriptor, ArrayList&amp; resultParameterOrdinals)&lt;br&gt;
   at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor&amp; rowidDescriptor)&lt;br&gt;
   at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()&lt;br&gt;
   at MicroFour.StrataFrame.Data.DbDataSourceItem.InternalExecuteNonQuery(DbCommand Command, Boolean IsTransactional, String TransactionKey)&lt;br&gt;
   at MicroFour.StrataFrame.Data.OracleDataSourceItem.UpdateRow(QueryInformation QueryInfo, DataRow RowToUpdate, ConcurrencyExceptionHandler ConcurrencyHandler, AddRowErrorHandler RowErrorHandler, Boolean RecreateCommand)&lt;br&gt;
   at MicroFour.StrataFrame.Data.DbDataSourceItem.UpdateRow(QueryInformation QueryInfo, DataRow RowToUpdate, ConcurrencyExceptionHandler ConcurrencyHandler, AddRowErrorHandler RowErrorHandler)&lt;br&gt;
   at MicroFour.StrataFrame.Data.DataLayer.UpdateDataTableThread(Object ThreadParams)&lt;br&gt;
   at MicroFour.StrataFrame.Data.DataLayer.UpdateDataTable(DataTable TableToUpdate, Boolean Transactional, String TransactionKey)&lt;br&gt;
   at MicroFour.StrataFrame.Data.DataLayer.Save(DataTable TableToSave, Boolean Transactional, String TransactionKey)&lt;br&gt;
   at MicroFour.StrataFrame.Business.BusinessLayer.Save(Boolean Transactional, String TransactionKey)&lt;br&gt;
   at MicroFour.StrataFrame.Business.BusinessLayer.Save()&lt;br&gt;
   at TrustedVALET.forms.queryBuilder.frmQueryBuilder.get_usr_setup(String userName, String formId, String formDescription, String controlId, String controlIdDescription) in C:\TrustedVALET\TrustedVALET\forms\queryBuilder\frmQueryBuilder.cs:line 2420&lt;br&gt;
   at TrustedVALET.forms.queryBuilder.frmQueryBuilder.cmdFrontQueryOrdersViewSaveLayout_Click(Object sender, EventArgs e) in C:\TrustedVALET\TrustedVALET\forms\queryBuilder\frmQueryBuilder.cs:line 3891&lt;br&gt;
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)&lt;br&gt;
   at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)&lt;br&gt;
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)&lt;br&gt;
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)&lt;br&gt;
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)&lt;br&gt;
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)&lt;br&gt;
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)&lt;br&gt;
   at System.Windows.Forms.Control.WmMouseUp(Message&amp; m, MouseButtons button, Int32 clicks)&lt;br&gt;
   at System.Windows.Forms.Control.WndProc(Message&amp; m)&lt;br&gt;
   at System.Windows.Forms.ScrollableControl.WndProc(Message&amp; m)&lt;br&gt;
   at System.Windows.Forms.ToolStrip.WndProc(Message&amp; m)&lt;br&gt;
   at System.Windows.Forms.Control.ControlNative&amp;#119;indow.OnMessage(Message&amp; m)&lt;br&gt;
   at System.Windows.Forms.Control.ControlNative&amp;#119;indow.WndProc(Message&amp; m)&lt;br&gt;
   at System.Windows.Forms.Native&amp;#119;indow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br&gt;</description><pubDate>Mon, 12 Jul 2010 12:24:42 GMT</pubDate><dc:creator>Ross L. Rooker, Sr.</dc:creator></item><item><title>RE: SQL vs ORACLE problem</title><link>http://forum.strataframe.net/FindPost27647.aspx</link><description>It appears we completely missed this post. Did this get resolved?</description><pubDate>Mon, 12 Jul 2010 12:24:42 GMT</pubDate><dc:creator>Greg McGuffey</dc:creator></item></channel></rss>