Re: Any workaround for row size > 8060?
From: Mark Allison (marka_at_no.tinned.meat.mvps.org)
Date: 04/27/04
- Next message: Mark Allison: "Re: Service Failing"
- Previous message: Mark Allison: "Re: Syn. data between two sql server"
- In reply to: John: "Any workaround for row size > 8060?"
- Next in thread: John: "Re: Any workaround for row size > 8060?"
- Reply: John: "Re: Any workaround for row size > 8060?"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 27 Apr 2004 07:32:36 +0100
John,
Does Centura support SQL Server? Perhaps an engineer from Centura would be
required to do this migration work. The problem you are having is that you
will need to use the text data type if you need to store more than 8060
bytes per row. Application changes may need to be made to accomodate this
data type, either at the stored procedure layer or the data access layer in
dynamic SQL in the application itself.
There are many gotchas with the text datatype and they cannot be treated in
the same way as a varchar due to the nature in the way they are stored. i.e.
if the text cannot be stored in row, as in its greater than 8K, then a
pointer is stored in the row to the data pages where the text data can be
found. There is a lot of information on this data type in Books Online, I
recommend you read it.
-- Mark Allison, SQL Server MVP http://www.markallison.co.uk "John" <johnfull_2000@yahoo.com> wrote in message news:C8579948-714C-4CA5-9244-9AC486144518@microsoft.com... > Hi All, > > We're converting Oracle databases to SQL Server. In Oracle there's no such limit for row size and SQL has. > We've Centura as front-end (Gupta SQL formerly). > While testing is going on........we are getting row size exceeds max limit of 8060 bytes...and we don't know what exactly we need to do. > In the problem tables, I have one TEXT column and various varchar 4000 and varchar 2000 columns. > The application will insert more than 8060 characters for sure.. > > Can anybody suggest any workaround for this? or Any pointers? > > The table structure is something like this: > > --------------------------------------------------------------------- > CREATE TABLE [Table1] ( > [Table_ID] [varchar] (10) NOT NULL , > [T_NOTES1] [TEXT] NULL , > [T_NOTES2] [varchar] (4000) NULL , > [C_NOTES] [varchar] (4000) NULL , > [P_NOTES] [varchar] (4000) NULL , > [G_NOTES] [varchar] (256) NULL , > [F_NOTES] [varchar] (256) NULL , > [L_NOTES] [varchar] (256) NULL , > [P_NEEDS] [varchar] (256) NULL , > [F_NEEDS] [varchar] (256) NULL , > [O_NOTE] [varchar] (250) NULL , > [V_SOURCES] [varchar] (2000) NULL , > [T_PROOFS] [varchar] (250) NULL , > [V_SKILLS] [varchar] (2000) NULL , > [R_CREDS] [varchar] (2000) NULL , > [ROWID] [uniqueidentifier] NOT NULL CONSTRAINT > CONSTRAINT [FK_RO_TES_PROID] FOREIGN KEY > ( > [PRO_ID] > ) REFERENCES [Table_INFO1] ( > [PRO_ID] > ) ON DELETE CASCADE > ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] > GO > > If we split the table, will it help? > Can we have more than one column as TEXT data type? > -------------------------------------------------------------------------- ----------------- > > One more point: I appreciate if somebody can clarify this: > TEXT data type can store lot of data....right? > Then if we're inserting > 8060 (row size limit) into the TEXT column why would it error? > If this is so, what is the point in using TEXT column? > > I'm little bit confused..........I appreciate if somebody can clarify this.. > > Thanks much, > John..
- Next message: Mark Allison: "Re: Service Failing"
- Previous message: Mark Allison: "Re: Syn. data between two sql server"
- In reply to: John: "Any workaround for row size > 8060?"
- Next in thread: John: "Re: Any workaround for row size > 8060?"
- Reply: John: "Re: Any workaround for row size > 8060?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|