2016-02-01 1 views
0

Привет всем, Я хочу использовать сверло Apache в моем программировании на C#. Я хочу отображать данные с сервера sql на веб-странице с помощью сверла apache. пожалуйста, помогите мне.Как отображать данные с сервера sql в сверле apache с помощью C#

+2

слишком широкий Есть либо слишком много возможных ответов, или хорошие ответы будут слишком долго для этого формата. Пожалуйста, добавьте детали, чтобы сузить набор ответов или изолировать проблему, на которую можно ответить в нескольких абзацах. – mybirthname

+0

@mybirthname: На самом деле я новичок в сверле apache, я не знаю, как подключиться к серверу sql. не могли бы вы дать мне демонстрацию, показывающую простую страницу с отображением данных с SQL-сервера, используя сверление apache в C#, пожалуйста .. какой-нибудь простой пример ... так что я получу какую-то идею из того, что касается сверления apche. –

+0

Я думаю, вы должны сначала настроить источник данных ODBC, а затем использовать это ODBC-соединение из .NET. Https://drill.apache.org/docs/configuring-odbc-on-windows/ –

ответ

3

Вместо того, чтобы идти прямо к сверлению apache с помощью драйвера jdbc, вы можете использовать API REST через http. Вы можете прочитать больше об этом here.

Фактически, я действительно получил эту работу, используя .NET, в данном случае F # в отличие от C#, но это не имеет значения.

Пожалуйста, смотрите пример код ниже:

#r "../packages/FSharp.Data/lib/net40/FSharp.Data.dll" 

open FSharp.Data 
open FSharp.Data.HttpRequestHeaders 

let asyncExecute (queryString : string) = 

    printfn "Executing query string:\n%s..." queryString 

    Http.AsyncRequestString(
     url = "http://10.xx.xx.xx:8047/query.json", 
     httpMethod = "Post", 
     headers = [ ContentType HttpContentTypes.Json ], 
     body = TextRequest (sprintf """{"queryType":"SQL", "query": "%s"}""" (queryString.Replace("\r\n", "").Replace("\n", "").Replace("\r", ""))) 
    ) 

let sql = 
    @"Select DateKey, 
      `Date` 
     From dwTest.SalesDriversDatamart.dwh.DimDate 
     Where Cast(`Date` As Date) = Cast('1990-01-02' As Date)"  

let jsonResult = 
    asyncExecute sql 
    |> Async.RunSynchronously