Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Unable to connnect to SQLServer dataserver parameter not Working

Offen
#151 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Ruhig
Tech-Stack
ruby, sql
Bereich
backend, databases

Rechercherichtung

Es werden keine Quelldateien oder Tests genannt. Beginne mit der Konfiguration des SQL output plugin und dem TinyTDS-Verbindungsfehler und verfolge dann, wie dessen host- und dataserver-Parameter an den SQLServer adapter übergeben werden; abgeschlossen ist die Aufgabe, wenn eine dokumentierte, funktionierende Verbindung ohne die gemeldeten Konfigurationsfehler hergestellt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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

Vorherrschende Sprache
Ruby
Sterne
112
Forks
58
Ø Merge
9 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus fluent/fluent-plugin-sql

Alle Issues in fluent/fluent-plugin-sql

Ähnliche Issues

Weitere Issues zu Ruby

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.