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.
Une chose à considérer est que le nom en quatre parties est sensible à la casse. Assurez-vous que vous spécifiez le cas correct.