1

2005-2008 Microsoft SQL Server에서 연결된 서버를 만들려고합니다. 나는 이것을 2005 년에 정기적으로 수행하지만 이것은 SQL 2008에 대한 오랜 여행의 첫 걸음입니다. 연결된 서버를 다른 연결된 서버로 만들 수는 있지만 오류가 발생하지는 않습니다. 그러나 링크 된 서버를 사용할 때마다 서버 (예 : 간단한 "SELECT *"문) SSMS에서이 오류가 발생합니다.2005 년 인스턴스의 연결된 2008 SQL Server에 대해 "캐스트 사양의 문자 값이 잘못되었습니다."

"연결된 서버 {연결된 서버 이름}의 OLE DB 공급자"SQLNCLI "반환 된 메시지"캐스트 사양의 문자 값이 잘못되었습니다. "."

2005 인스턴스에서 2008 인스턴스에 연결된 서버를 만드는 방법에 대해 알아야 할 사항은 무엇입니까?

+1

"연결된 서버를 사용하십시오"라고 말하면 정확히 무슨 일을하는지, 즉 특정 T-SQL 일괄 처리 또는 저장 프로 시저를 실행하고 있습니까? 이 오류는 형변환 조작이 실패했음을 나타냄니다. –

+0

나는 어떤 명령에서도 주조를하고 있지 않다. 'SELECT * FROM linkedServer.database.dbo.table'이 OLE DB 오류를 반환하는 것과 같이 간단하게 실행하는 것에 대해 설명합니다. – kscott

+0

그런 경우 Link Server 정의를 제공해주십시오. –

답변

2

2008 년 새로운 기능인 "지리"데이터 유형의 필드가있는 2008 년 서버에서 가장 중요한 비즈니스 테이블 인 테스트 할 테이블을 선택합니다. 다른 테이블 중 하나에서 쿼리를 테스트 할 때 이 데이터 유형이 없으면 쿼리가 올바르게 작동합니다.

... 알다시피 ... 그것은 "캐스팅 사양에 잘못된 문자 값"이었습니다.

0

이것이 데이터 정렬 문제 일 수 있습니다.

서버, 데이터베이스 및 테이블 수준에서 데이터 정렬이 동일한 지 확인하십시오. 다음을 수행

exec sp_helpsort 

가 Databasea 데이터 정렬을 확인하려면 :

가 detault 서버 데이터 정렬은 다음과 T-SQL을 실행 확인하려면

SELECT DATABASEPROPERTYEX('DatabaseName', 'Collation') SQLCollation; 
+0

관련된 서버와 데이터베이스 간의 모든 데이터 정렬 일치 : SERVER : Latin1 - 일반, 대/소문자 구분 안함, 액센트 구분, 일본어 문자가 아닌 유니 코드 데이터의 경우에는 비어 있음, SQL Server의 경우 525 유니 코드가 아닌 데이터 DB : SQL_Latin1_General_CP1_CI_AS – kscott

0

그건 하나 정렬 (내 첫번째 추측), 또는 유니 코드 변환 (VARCHAR 대 NVARCHAR). 나는 존을 업보 (upvote) 하겠지만, 나는 충분한 명성이 없다.

0

지리 필드가 있고 오류가없는 연결된 서버의 테이블을 쿼리 할 수 ​​있었던 특별한 방법이 있습니까?

연결된 서버를 쿼리해야 할 때 동일한 문제가 발생하며 테이블 중 일부에 지리 필드가 있고 텍스트 필드 만 선택하더라도 오류가 발생합니다. 내가 생각할 수있는 유일한 해결 방법은 테이블에 대한 쿼리가 중단되지 않도록 지리 필드를 새 테이블로 분할하는 것입니다.

+0

지리 필드를 Well Known Text (WKT) 형식으로 변환 한 뷰를 만들었고 SQL 2008 에서처럼 Geography 데이터 형식 필드 대신 연결된 서버를 통해 사용했습니다. CAST (geoLocation AS nvarchar (MAX)) as geoLocationWKT – kscott

+0

우리는 OPENQUERY를 사용하여 링크 서버를 사용하는 것과 동일한 문제가없는 문제를 해결했습니다. 예제에서 b.Building_Name, s.Suite_Number 을 선택 [IO] .IrvineOffice.dbo.Suite_Space S OPENQUERY 행 ( 선택 * ([IO]가 'IrvineOffice.dbo.Building SELECT *'커뮤니티 내)) b on s.Building_ID = b.Building_ID – TPaul

관련 문제