2012-09-28 3 views
1

안녕하세요. 데이터 관리자 내에서 데이터를 가져 오는 중입니다. Salesforce를 통해 데이터를 가져오고 있으므로 데이터 유형 및 제한이 설정되어 있지 않습니다. MS SQL에 들어 와서 들어오는 데이터의 양을 제한 할 수있는 방법을 알고 싶습니다. 이 오류입니다 :SQL에서 허용되는 최대 오류를 초과했습니다.

[42000]Microsoft SQL Server Native Client 10.0 
The size (32000) given to the column 'Description' exceeds the maximum allowed for any data type (8000). 

그리고이 데이터를 끌어 내 쿼리입니다 :

SELECT "Id", 
"IsDeleted", 
"Name", 
"ParentId", 
"Type", 
"Status", 
"StartDate", 
"EndDate", 
"CurrencyIsoCode", 
"ExpectedRevenue", 
"BudgetedCost", 
"ActualCost", 
"Description", 
"ExpectedResponse", 
"NumberSent", 
"IsActive", 
"NumberOfLeads", 
"NumberOfConvertedLeads", 
"NumberOfContacts", 
"NumberOfResponses", 
"NumberOfOpportunities", 
"NumberOfWonOpportunities", 
"AmountAllOpportunities", 
"AmountWonOpportunities", 
"OwnerId", 
"CreatedDate", 
"CreatedById", 
"LastModifiedDate", 
"LastModifiedById", 
"SystemModstamp", 
"LastActivityDate", 
"CampaignMemberRecordTypeId", 
"Date_of_Event__c", 
"Venue__c" 
FROM "SF Schema"."Campaign" 

가 최대가 8000

감사하다 "설명"에 제한을 설정하는 어쨌든 거기를 !

+0

당신은 그 열을 재고 할 수 있습니다. – noel

+0

테이블 스키마에 설정 한 열 크기는 무엇입니까? – Prasanna

+0

스키마는 Salesforce에서 제공되므로 varchar (최대)로 varchar를 수정할 수 없습니다. 어쨌든 8000 미만의 설명 사이트를 제한하기 위해 위의 SQL 쿼리를 약간 수정할 수 있습니까? – user1383080

답변

0

당신은 LEFT를 사용하여 첫 번째 8000 개 문자를 얻을 수있다()

SELECT LEFT(Description,8000) AS Description FROM YourTable 
+0

left() 함수를 허용하지 않습니다. – user1383080

+1

오류가 발생합니까? – Prasanna

0

이 eror이 일어나고 ?

"SF 스키마". "캠페인"테이블의 DDL에서 오류가 발생하지 않았습니다.

테이블의 크기가 32000 인 열은 어떻게 가능합니까? 정의 된 부분은 어디입니까?

이 작은 샘플 코드는 오류 메시지를 재현하는 방법을 보여줍니다. 칼럼 '거짓'으로 소정 크기 (32000)의 모든 데이터 유형에 대해 허용 된 최대 값을 초과

메시지 (131), 레벨 15, 상태 2, 라인 3 (8000 :

DECLARE @table TABLE 
(
    dummy nvarchar(32000) 
) 

이 출력을 생성).

LEFT는 다른 답변에서 도움이 될 수도 있지만 문제는 원본 테이블의 정의에 있기 때문에 동일한 오류가 발생합니다. 은 MSDN에

LEFT : 당신이 더 진행되기 전에 http://msdn.microsoft.com/es-es/library/ms177601.aspx

관련 문제