2010-10-05 4 views
10

MISE À JOUR: Le problème était col1 était hiereachyid type et même un select ne fonctionnait pas pour cela.Obtention d'une erreur lors de l'insertion de données lors de l'utilisation des requêtes de serveur lié

Salut à tous,

Je reçois cette erreur -

objets exposant colonnes avec des types CLR ne sont pas autorisés dans les requêtes distribuées. Veuillez utiliser une requête directe pour accéder à l'objet distant "RemoteDb". "Dbo". "RemoteTable" '.

J'ai déjà configuré le serveur lié [RemoteServer.dev.com] .Je tente d'effectuer une insertion en bloc à partir d'une table distante dans la table quelque chose en cours comme celui-ci -

INSERT INTO [CurrentDb].[dbo].[Mytable] 
    (
     col1, 
     col2 
    ) 
SELECT 
    col1,col2 
FROM [RemoteServer.dev.com].[RemoteDb].[dbo].[RemoteTable] 

Quelqu'un peut-il s'il vous plaît aidez-moi .. Merci.

Répondre

16

Comme l'indique l'erreur, vous avez besoin d'une requête directe à cause des types de données. Essayez ceci:

INSERT INTO [CurrentDb].[dbo].[Mytable] 
    (
     col1, 
     col2 
    ) 
    SELECT col1, col2 
     FROM OPENQUERY([RemoteServer.dev.com], 'SELECT col1, col2 FROM [RemoteDb].[dbo].[RemoteTable]') 
+0

Hey merci pour votre réponse .... la question était du type id hiérarchie que j'avais sur l'un des champs – Vishal

+0

@Misnomer: Cette réponse a résolu votre problème ou avez-vous utilisé une autre technique? –

+0

Ya J'ai utilisé OpenQuery pour insérer des données pour cette table qui avait hierarchyid ... reste d'entre eux fonctionnent sans openquery .. – Vishal

Questions connexes