timvw / arrow-flightsql-odbc Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Hi,
I am using arrow-flightsql-odbc to setup a flightsql service which could convert MSSQL result to arrow data. The MSSQL is setup without a problem. It could also connected with MSSQL ODBC Driver 18. But when I tested the service with flight_sql_client, I always got an error "Received RecordBatch prior to Schema". I am not sure what is wrong. Could you please help to indicate how to fix this problem? Thanks in advance! Please see details below.
The flight_sql_client
is from arrow-flight.
--ODBC connection string
export ODBC_CONNECTION_STRING="Driver={ODBC Driver 18 for SQL Server};Server=tcp:mssql-im-adbc.database.windows.net,1433;Database=mssql-im-adbc;Uid=xxxxx;Pwd=xxxxxx;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;"
--server is started
$ cargo run server
Compiling arrow-flightsql-odbc v0.2.0 (/home/azuser/arrow-flightsql-odbc)
Finished dev [unoptimized + debuginfo] target(s) in 7.60s
Running `target/debug/flightsql-odbc-server server`
[2024-02-01T01:20:58Z INFO flightsql_odbc_server] odbc_connection_string: Driver={ODBC Driver 18 for SQL Server};Server=tcp:mssql-im-adbc.database.windows.net,1433;Database=mssql-im-adbc;Uid=xxxxx;Pwd=xxxxxx;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;
[2024-02-01T01:20:58Z INFO flightsql_odbc_server] binding to: 0.0.0.0:52358
--flight_sql_client command
$ ./target/release/flight_sql_client --host localhost --port 52358 statement-query "SELECT 1;"
Error: read flight data
Caused by:
0: collect data stream
1: ProtocolError("Received RecordBatch prior to Schema")
--output on server side
[2024-02-01T01:23:08Z INFO arrow_flightsql_odbc::myserver] handling cmd: GetCommandSchema(GetCommandSchemaRequest { command: StatementQuery(CommandStatementQuery { query: "SELECT 1;" }), response_sender: Sender { inner: Some(Inner { state: State { is_complete: false, is_closed: false, is_rx_task_set: true, is_tx_task_set: false } }) } })
[2024-02-01T01:23:08Z WARN odbc_api::handles::logging] State: 01000, Native error: 5701, Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Changed database context to 'mssql-im-adbc'.
[2024-02-01T01:23:08Z WARN odbc_api::handles::logging] State: 01000, Native error: 5703, Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Changed language setting to us_english.
[2024-02-01T01:23:08Z INFO arrow_flightsql_odbc::myserver] handling cmd: GetCommandData(GetCommandDataRequest { command: StatementQuery(CommandStatementQuery { query: "SELECT 1;" }), response_sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fc27c00a300, tail_position: 0 }, semaphore: (Semaphore { permits: 100 }, 100), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } } })
[2024-02-01T01:23:08Z WARN odbc_api::handles::logging] State: 01000, Native error: 5701, Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Changed database context to 'mssql-im-adbc'.
[2024-02-01T01:23:08Z WARN odbc_api::handles::logging] State: 01000, Native error: 5703, Message: [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Changed language setting to us_english.
Best,
Roy
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
actions/checkout
, anyhow
, arrow
, arrow-odbc
, arrow-schema
, bytes
, clap
, docker/build-push-action
, docker/login-action
, env_logger
, log
, prost
, prost-derive
, prost-types
, rust
, serde
, tokio
, tokio-stream
, tonic
, tonic-build
, tonic-reflection
)Cargo.toml
arrow-odbc 8.0.0
tokio 1.36.0
tonic 0.7
prost 0.10
prost-types 0.10.1
prost-derive 0.10
futures 0.3
arrow 50.0.0
arrow-schema 50.0.0
futures-core 0.3.21
log 0.4.17
env_logger 0.9.0
tokio-stream 0.1.8
async-stream 0.3.3
tonic-reflection 0.4.0
anyhow 1.0.57
clap 3.1.18
serde 1.0
bytes 1.1
tonic-build 0.7
deploy/Dockerfile
rust 1.60
.github/workflows/docker-image.yml
actions/checkout v3
docker/login-action v2
docker/build-push-action v3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.