Only base table columns are allowed in the TEXTPTR function.

Error Message:
Msg 280, Level 16, State 1, Line 15
Only base table columns are allowed in the TEXTPTR function.

Severity level:
16.

Description:
This error message appears when you try to use constructs such as computed columns in the TEXTPTR function.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Errors of the Severity Level 15 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. The TEXTPTR function only accepts “base” columns as valid input.

Versions:
All versions of SQL Server.

Example(s):
USE tempDB
IF OBJECT_ID(‘t’) > 0
 DROP TABLE t
 
CREATE TABLE t
(
 id int NOT NULL PRIMARY KEY,
 c1 text,
 c2 AS c1
)

INSERT INTO t(id, c1) VALUES (1, ‘This is a long text’)

DECLARE @textpointer binary(16)
SELECT @textpointer = TEXTPTR(c2)
  FROM t
–READTEXT t.c2 @textpointer 1 18

Remarks:
In SQL Server 2005 the new data types varchar(MAX) and varbinary(MAX) were introduced. They made the handling of large binary objects in SQL Server much easier. They are the preferred way to handle BLOBs.

]]>

Leave a comment

Your email address will not be published.