Ich habe Tabelle Tbl1 ( Somename nvarchar (64) )OLEDB Vergleich Problem nvarchar gegen Ntext (SQLServer 2005)
Über OLEDB Ich versuche SELECT 1 FROM Tbl1 WHERE SomeName = ?
Bindung 3 Zeichen Unicode als Parameter zu wählen Ursachen: DB_E_ERRORSINCOMMAND (0x80040E14L) „die Datentypen nvarchar und ntext- in dem gleich-Operator nicht kompatibel sind“
ich habe bereits versucht folgenden Eingabebindungen:
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
...
in irgendeiner Weise SQLServer treates dieser Parameter als ntext-. Irgendwelche Vorschläge? Vielen Dank im Voraus.
Ja, es hilft. SQL Profiler zeigt genau das meine? behandelt als ntext (siehe @ p2 unten): deklarieren @ p1 int gesetzt @ p1 = 21 exec sp_prepexec @ p1 Ausgang, N '@ P1 bigint, @ P2 ntext, @ P3 bigint', N ' – Dewfy
Dann würde ich versuchen Sie entweder den Anbieter zu aktualisieren, wenn möglich (in der Hoffnung, dass es seinen Job besser machen wird), oder bleiben Sie beim "schnellen und schmutzigen Hack". – AlexS
Leider ist der Provider "der große und leistungsstarke" MSSQL Server 2005 native Treiber. – Dewfy