Ho uno SQL Server 2005 che dispone di un 'server collegato' a un altro SQL Server 2005.collegato SQL Server ha errore con la conversione di tipo di dati DBTYPE_DBTIMESTAMP
Quando eseguo una semplice query su uno dei tavoli contro il collegato server:
SELECT TOP 10 [Pat_Id]
FROM [Prod].[PIS].[dbo].[W_PATIENT]
Questo errore si verifica:
Msg 8114, Level 16, State 8, Line 1
Error converting data type DBTYPE_DBTIMESTAMP to datetime.
Msg 8114, Level 16, State 8, Line 1
Error converting data type DBTYPE_DBTIMESTAMP to datetime.
Tuttavia, quando uso OPENQUERY funziona:
SELECT * FROM OPENQUERY([Prod], 'SELECT TOP 10 [Pat_Id] FROM [PIS].[dbo].[W_PATIENT]')
Nella tabella W_PATIENT non sono presenti campi digitati "TIMESTAMP". Ha 5 campi DATETIME.
È anche importante notare che è possibile interrogare altre tabelle con valori DATETIME senza problemi. Il problema è focalizzato sulla tabella W_PATIENT.
Hai provato a trasmettere [Pat_Id] a binario (8)? Questo è equivalente a TIMESTAMP e sarebbe interessante vedere se funzionasse. – ajdams
Buona idea. Prima del tuo commento ho provato a trasmettere i campi DATETIME a TIMESTAMP e questo funzionava se ero collegato localmente al database Prod. Ho appena usato BINARY (8) come suggerito che ha funzionato. Speravo che colando ognuno dei DATETIME individualmente sarei stato in grado di identificare quello con dati errati, ma senza fortuna. – jacksonakj
Sei sicuro che il tuo server collegato sia configurato correttamente? Cosa offre questa query: SELECT prodotto, provider FROM sys.servers WHERE name = 'Prod'; –