0
나는 테이블 TBL1 ( SomeName의 NVARCHAR이 (64) ) OLEDB 이상OLEDB 비교 문제 NVARCHAR (SQLServer를 2005)
내가 SELECT 1 FROM Tbl1 WHERE SomeName = ?
가 매개 변수로 3 문자의 유니 코드를 바인딩을 선택하는 것을 시도하고있다 원인 : DB_E_ERRORSINCOMMAND (0x80040E14L)
"데이터 유형 및 NVARCHAR NTEXT 연산자에 동일의 양립"I 이미 입력 바인딩 다음 시도 :
1) ...
currentBind.wType = DBTYPE_VARIANT;
currentBind.cbMaxLen = 20
// where data points to valid VT_BSTR allocated by SysAllocString
...
2) ...
currentBind.wType = DBTYPE_WSTR;
currentBind.cbMaxLen = 20
// where data points to valid VT_BSTR allocated by SysAllocString
...
어떤 식 으로든 SQLServer는이 매개 변수를 ntext로 처리합니다. 제안 사항이 있으십니까? 미리 감사드립니다.
네 도움이됩니다. SQL 프로파일 러는 정확하게 내? 선언 @ p1 int set @p1 = 21 exec sp_prepexec @ p1 출력, N '@ P1 bigint, @ P2 ntext, @ P3 bigint', N ' – Dewfy
그런 다음 가능하다면 공급자를 업데이트하거나 (더 나은 일을하기를 바랄 때) '빠르고 더러운 해킹'을 고수하십시오. – AlexS
불행히도 공급자는 "강력하고 위력있는"MSSQL Server 2005 네이티브 드라이버입니다. – Dewfy