• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 380
  • Last Modified:

SQL 2000

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?
0
classnet
Asked:
classnet
  • 4
  • 3
  • 2
2 Solutions
 
Patrick MatthewsCommented:
classnet,

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

Do you need to restate the problem?

:)

Patrick
0
 
classnetAuthor Commented:
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.
0
 
Patrick MatthewsCommented:
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)
SELECT LEN(@foo)
CREATE TABLE zzz (foo nvarchar(4000))
INSERT INTO zzz (foo) VALUES (@foo)
SELECT LEN(foo) FROM zzz
DROP TABLE zzz

Open in new window

0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Aneesh RetnakaranDatabase AdministratorCommented:
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
0
 
classnetAuthor Commented:
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.
0
 
Aneesh RetnakaranDatabase AdministratorCommented:
how are you inserting ?

did you run the query tht return the length
0
 
classnetAuthor Commented:
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
0
 
classnetAuthor Commented:
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?
0
 
Patrick MatthewsCommented:
I'd be amenable to a split :)
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now