Connecting to a mirrored SQL Server instance using the MultiSubnetFailover connection option is not supported

Cet article en deux mots :

Impossible de connecter SAS à SQL Server sur Amazon RDS à cause d'une erreur ODBC ? Cet article montre comment résoudre le blocage lié au "MultiSubnetFailover" en ajustant simplement la variable d'environnement ODBCSYSINI dans votre fichier de configuration sasenv_local.

J’ai récemment été confronté à un problème de connexion à une base de données SQL Server Sur Amazon RDS (SQL Server dans le Cloud) La connexion depuis ISQL  fonctionnait correctement : [caption id="attachment_3034" align="aligncenter" width="580"]isql MSQLSERVERAMAZONRDS admin admin isql MSQLSERVERAMAZONRDS admin admin[/caption] Mais lors que je soumettais un LIBNAME dans une sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. SAS j’obtenais l’erreur ci-dessous : ERROR: CLI error trying to establish connection: [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Connecting to a mirrored SQL Server instance using the MultiSubnetFailover connection option is not supported. : [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Invalid attribute value : [unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute ERROR: Error in the LIBNAME statement. Cette erreur  et surtout le message Invalid connection string attribute m'a encouragé à vérifier mes variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. d'environnement ODBC.  Les variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. d’environnements a positionner sont : ODBCHOME, ODBCINST, ODBCINI et ODBCSYSINI. Et en effet, il me manquait la variable d'environnement ODBCSYSINI.   J'ai donc ajouté la variable ODBCSYSINI=/etc dans mon fichier de configuration sas,  sasenv_local : [caption id="attachment_3035" align="aligncenter" width="830"]Variables ODBC dans sasenv_local VariablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. ODBC dans sasenv_local[/caption] La connexion fonctionne maintenant correctement : libname-amazon-rd-sql-server-sas   Malgré mes recherches pour comprendre la cause de ce problème, je ne suis pas parvenu à obtenir une explication entre l'absence de la variable d'environnement ODBCSYSINI et l’impossibilité de se connecter à une base de données SQL server utilisant ce type de configuration (Un clusterEnsemble de nœuds (machines) interconnectés, gérés par Kubernetes, qui collaborent pour exécuter les microservices et le moteur CAS de SAS Viya, assurant haute disponibilité et passage à l'échelle. de basculement de sous-réseaux multiples SQL Server est une configuration dans laquelle chaque nœud de clusterEnsemble de nœuds (machines) interconnectés, gérés par Kubernetes, qui collaborent pour exécuter les microservices et le moteur CAS de SAS Viya, assurant haute disponibilité et passage à l'échelle. de basculement est connecté à un sous-réseau différent ou à un ensemble différent de sous-réseaux. Ces sous-réseaux peuvent se trouver au même emplacement ou dans des sites géographiquement dispersés). D'autant plus que la variable d'environnement ODBCSYSINI  pour valeur par défaut /etc et que cette variable est normalement utilisé pour surcharger cette valeur par défaut par un emplacement personnalisé...        

Nicolas Housset

Passionné d'informatique, je suis Consultant et expert technique SAS VIYA, également co-fondateur de la société Flexcelite. Spécialisé dans les technologies SAS (Viya, 9.4) et les infrastructures associées (Linux, Hadoop, Azure), ce blog est mon espace pour partager mes mémos techniques et retours d'expérience.