ClickHouse / clickhouse-odbc

ODBC driver for ClickHouse
https://clickhouse.tech
Apache License 2.0
252 stars 88 forks source link

Прошу помочь с подключением к click house VS 2019 VB Net #330

Open BeHappy911 opened 4 years ago

BeHappy911 commented 4 years ago

Что я только не делал, НО ВИДИМО НИ ЧЕГО ПРАВИЛЬНОГО... Хочу получать значения сразу 2-х мерный массив, но как понял, что возможно только перебором, сколько не строил переборов, все время мимо... Может вообще не верный способ выбрал?

Мой код:

Dim Connect1 = CreateObject("ADODB.Connection")
        Dim rs = CreateObject("ADODB.Recordset")
        Connect1.ConnectionString = "Driver={ClickHouse ODBC Driver (Unicode)};" & "Server=.mdb.yandexcloud.net; PORT=8443; DATABASE=DP_Analytics; uid= ; pwd=; SSLMode = Allow;" & "option=3"
'Dim Connect1 = New OleDb.OleDbConnection("Driver={ClickHouse ODBC Driver (Unicode)};" & "Server=.mdb.yandexcloud.net; PORT=8443; DATABASE=DP_Analytics; uid= ; pwd=; SSLMode = Allow;" & "option=3")
        Dim A1_Command As New OleDbCommand()
        Dim B1_Reader As OleDbDataReader
        Dim ht_Fields As New Hashtable

        Dim i_TT As Integer

        Connect1.Open()

        Dim Sql = "SELECT DISTINCT CommercialCategoryLevel0Name as id_num from Calc3_DA_fact_2020"
        rs.open(Sql, Connect1)

        'Dim t = rs.Fields("0").Value '.ToString
    rs.MoveFirst()
    For i = -1 To rs.RecordCount - 1
        For j = 0 To rs.Fields.Count - 1
            'Рфы(i_j) = rs.Fields(j).Value
            ht_Fields(i & "_" & j) = rs.Fields(j) '.ToString
        Next

        rs.MoveNext()
    Next

`

BeHappy911 commented 4 years ago

Если примерно тоже самое делаю в VBA, то все работает: https://a.radikal.ru/a26/2011/cc/431564a29d07.jpg