Impossible d'accéder à la base de données via le serveur lié

ado.net c# exception-handling linked-server sqlbulkcopy

Question

J'utilise la fonctionnalité SqlBulkCopy pour stocker des données en vrac dans la base de données SQL.

Pour Ex: bulkCopy.DestinationTableName = "employeetable". Ce code fonctionne bien. Mais dans un scénario où je n'ai pas accès à la base de données de destination directement via une chaîne de connexion. Un serveur lié est uniquement fourni à la base de données de destination. Lorsque j'essaie de connecter la base de données de destination via le serveur lié (code ci-dessous)

Pour Ex:

using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destcon, SqlBulkCopyOptions.Default, sqltran))
{
    bulkCopy.DestinationTableName = "LinkedSeverName.database.dbo." + employeetable;  
    bulkCopy.WriteToServer(dt);
}

Je reçois l'erreur suivante,

Impossible d'accéder à la table de destination "LinkedSeverName.database.dbo.employeetable". ---> System.Data.SqlClient.SqlException: impossible de localiser l'entrée dans sysdatabases pour la base de données 'XXX'. Aucune entrée trouvée avec ce nom. Assurez-vous que le nom est entré correctement

Existe-t-il un autre moyen de surmonter cette erreur et d'accomplir la tâche? Toute aide est grandement appréciée.

Réponse populaire

Une chose à considérer est que le nom en quatre parties est sensible à la casse. Assurez-vous que vous spécifiez le cas correct.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi