SQL 2000

Posted on 2011-09-24
Last Modified: 2012-05-12
I have a nvarchar field set to a length of 4,000.  So, of course, I cannot insert over 900 characters into it.

Any ideas?
Question by:classnet
  • 4
  • 3
  • 2
LVL 92

Accepted Solution

Patrick Matthews earned 250 total points
ID: 36592779

Surely you can insert 900 characters into a nvarchar(4000) column.

Do you need to restate the problem?



Author Comment

ID: 36592787
Check it out Patrick... just spent forever adding and deleteing characters to find out why an obiously under 4,000 piece of text doesn't fit.  

The limit with varchar is 8,000 yet only really works up to 900 as well.
LVL 92

Expert Comment

by:Patrick Matthews
ID: 36592812
Something else is your problem, then, because both of the following SELECTs are returning 1500 as expected:

DECLARE @foo nvarchar(4000)
SET @foo = REPLICATE('x', 1500)
CREATE TABLE zzz (foo nvarchar(4000))
INSERT INTO zzz (foo) VALUES (@foo)

Open in new window

LVL 75

Assisted Solution

by:Aneesh Retnakaran
Aneesh Retnakaran earned 250 total points
ID: 36592818
seems like you are cheking the length thru the results from the query.
you need to set the maximum column output length in query analyser.
from query analyser -> ortions -> lresults -> max lenth
set that field to 8092 (which is max)

if you jsy want to get the length from the query , use
select len(columnName) from tableName
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.


Author Comment

ID: 36593019
Actually what I am trying to do is to put a 975 character question into this field... adding a letter at a time, and rerunning the page, I see that it fails at character 901.
LVL 75

Expert Comment

by:Aneesh Retnakaran
ID: 36593071
how are you inserting ?

did you run the query tht return the length

Author Comment

ID: 36593149
select len(columnName) from tableName  will return the length of the data in that field.

sqlStatement = "insert into Questions Values('" & Request.Form("category") & "', " & Request.Form("questionnum") & ", '" & Request.Form("question") & "')"

Response.Write sqlStatement

objConnection.Execute SQLStatement,,129

This "insert" works find until Request.Form("question") > 900

Author Comment

ID: 36593169
Ok guys... how do I handle... the data is actually in there and all is well.  I just, on some questions, can't see the data from the Enterprise manager.

Who gets points?
LVL 92

Expert Comment

by:Patrick Matthews
ID: 36593252
I'd be amenable to a split :)

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now