Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Unable to connnect to SQLServer dataserver parameter not Working

Ouverte
#151 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
À clarifier
Activité
Calme
Stack technique
ruby, sql
Domaine
backend, databases

Piste de recherche

Aucun fichier source ni test n’est indiqué. Commencez par la configuration du SQL output plugin et l’erreur de connexion de TinyTDS, puis suivez la manière dont ses paramètres host et dataserver sont transmis au SQLServer adapter ; le travail est terminé lorsqu’une connexion documentée et fonctionnelle est établie sans les erreurs de configuration signalées.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

So I've been working with this plugin for some days and finally achieved sending logs to a local sqlserver container.
Now that Im trying in prepo I'm not able to connecto to the database.
And so I startted with

<match docker.caesar**>
    @type copy
    <store>
        @type stdout
    </store>
    <store>
        @type sql
        log_level info
        host 172........\sql2019pre
        port 1433
        chema_search_path piscinalogs
        database db_Poseidon
        adapter sqlserver
        username "#{ENV['USER']}"
        password "#{ENV['PASSWORD']}"
        state_file /var/run/fluentd/sql_state
        <table>
            table logs
column_mapping 'time:timestamp,level:level,mensaje:message,Container_Name:containerName,App_Name:appName,Env:enviroment'
            # This is the default table because it has no "pattern" argument in <table>
            # The logic is such that if all non-default <table> blocks
            # do not match, the default one is chosen.
            # The default table is required.
            flush_interval 10s
        </table>
    </store>
</match>

This configuration did not work since it returns
fluentd | 2024-08-29 09:42:24 +0000 [warn]: #0 failed to flush the buffer. retry_times=0 next_retry_time=2024-08-29 09:42:26 +0000 chunk="620cf46e28eacdbcecf964d3ed2978be" error_class=TinyTds::Error error="Server name not found in configuration files"
Then I investigated how activerecords connects to database and encounter that they used the param: dataserver
When removing the host param in order to introduce the dataserver param :

<match docker.caesar**>
    @type copy
    <store>
        @type stdout
    </store>
    <store>
        @type sql
        log_level info
        dataserver 172.......\sql2019pre
        port 1433
        chema_search_path piscinalogs
        database db_Poseidon
        adapter sqlserver
        username "#{ENV['USER']}"
        password "#{ENV['PASSWORD']}"
        state_file /var/run/fluentd/sql_state
        <table>
            table logs
column_mapping 'time:timestamp,level:level,mensaje:message,Container_Name:containerName,App_Name:appName,Env:enviroment'
            # This is the default table because it has no "pattern" argument in <table>
            # The logic is such that if all non-default <table> blocks
            # do not match, the default one is chosen.
            # The default table is required.
            flush_interval 10s
        </table>
    </store>
</match>

It returns:
fluentd | 2024-08-29 09:45:42 +0000 [error]: config error file="/fluentd/etc/fluent.conf" error_class=Fluent::ConfigError error="'host' parameter is required"
And so I decided to let both parameters

<match docker.caesar**>
    @type copy
    <store>
        @type stdout
    </store>
    <store>
        @type sql
        host  172......
        dataserver 172.......\sql2019pre
        port 1433
        chema_search_path piscinalogs
        database db_Poseidon
        adapter sqlserver
        username "#{ENV['USER']}"
        password "#{ENV['PASSWORD']}"
        state_file /var/run/fluentd/sql_state
        <table>
            table logs
column_mapping 'time:timestamp,level:level,mensaje:message,Container_Name:containerName,App_Name:appName,Env:enviroment'
            # This is the default table because it has no "pattern" argument in <table>
            # The logic is such that if all non-default <table> blocks
            # do not match, the default one is chosen.
            # The default table is required.
            flush_interval 10s
        </table>
    </store>
</match>

It returns: fluentd | 2024-08-29 09:48:34 +0000 [warn]: #0 failed to flush the buffer. retry_times=4 next_retry_time=2024-08-29 09:48:48 +0000 chunk="620cf5c1a09d87697d7c0f92760ef3fb" error_class=TinyTds::Error error="Unable to connect: Adaptive Server is unavailable or does not exist (172......)"
Im quite lost at this point

Langage dominant
Ruby
Étoiles
112
Forks
58
Merge moyen
9 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fluent/fluent-plugin-sql

Toutes les issues de fluent/fluent-plugin-sql

Issues similaires

Plus d'issues Ruby

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.