刹那(せつな)の瞬き

Willkömmen! Ich heiße Setsuna. Haben Sie etwas Zeit für mich?

SQLServer

RustでSQLServerへの接続プールにbb8 / bb8-tiberiusを試してみた

バックエンドで Tiberius を利用する非同期な接続プールに bb8 があります。 GitHub - djc/bb8: Full-featured async (tokio-based) postgres connection pool (like r2d2) GitHub - kardeiz/bb8-tiberius bb8 は SQLServer 用のアダプタ bb8-tiberius と組…

Rustでasync/awaitに対応したTiberiusからSQLServerに接続する

一年くらい前に Rust から ODBC ドライバで接続する方法を試してました。 その当時、直接 TDS プロトコルを扱う tiberius クレートも試してみたのですが、依存するクレートのバージョンを固定する必要があり、コードが書き辛い状態でした。 UbuntuでRustから…

SQLServerでサロゲートペアや結合文字列を扱う前に照合順序を確認しよう

SQL Server 2019 での話です。 Unicode の𠮷(つちよし), 𩸽(ほっけ)や (ビール), ‍‍‍(家族: 父母と女の子と男の子)のような絵文字等を扱う場合、データベースがサロゲートペアや結合文字列に対応している必要があります。 SQL Server の Unicode データ型は …

Knex.js ver 0.95.0以降でSQLServerのdatabase libraryがtediousに変わってた

Knex.js を利用して SQLServer に接続するコードを書いて実行したところ、 Error: No event 'socketConnect' in state 'SentPrelogin' のようなエラーが発生して接続できませんでした。他の DB には接続できるのに SQLServer だけ接続できないのは釈然としま…

LinuxのNode.jsでnode-odbcとMS版ODBCドライバからSQLServerに接続する

node-odbc モジュールから SQLServer への接続は FreeTDS の ODBC ドライバとの組み合わせで確認できました。 LinuxのNode.jsでnode-odbcとFreeTDSのODBCドライバからSQLServerに接続する しかし、同じソースコードを Microsoft 版 ODBC ドライバで実行する…

LinuxのNode.jsでnode-odbcとFreeTDSのODBCドライバからSQLServerに接続する

Node.js から SQLServer に接続する場合、node-mssql または直接 tedious モジュールを利用すればいいのですが、ODBC ドライバでの接続方法も調べてみました。 www.npmjs.com で調べたところ node-odbc モジュールを見つけました。 ODBC ドライバマネージャ…

Node.jsでnode-mssqlを利用してSQLServerに接続する

Node.js から SQLServer へ接続について、Microsoft のサイトにはtedious モジュールでの開発方法が掲載されています。 tedious モジュールを直接利用してコーディングする場合、どうしてもイベントの記述が煩雑になりがちなので、ずっと敬遠してました。 し…

Ubuntuでodbc-iterクレートを試したら便利だった

前回までで、Rust の odbc クレートから SQL Server 2019 on Linux に接続して、日本語を含むクエリが処理できるようになりました。 UbuntuでRustからSQLServerに接続できたけど道半ば UbuntuでodbcクレートとMS版ODBCドライバで日本語を扱う 次は日付や数値…

UbuntuでodbcクレートとMS版ODBCドライバで日本語を扱う

Rust の odbc クレートから SQL Server 2019 on Linux に接続する件ですが、私の環境では MS 版 ODBC ドライバで接続すると期待通りに動作しませんでした。 接続は成功するし、英文のサンプルは動作するのですが、クエリ文字列に日本語が含まれていると、文…

UbuntuでnanodbcからSQLServerに接続する #3 - 追試編

導入編では nanodbc をビルドして Ubuntu 環境にインストールしました。ここでは、日本語を含むテーブル・カラム・クエリ等の扱いと、その他、気になる点について追試してみます。 対象は引き続き MS 版 ODBC ドライバです。 1. 追試用プロジェクトの準備 導…

UbuntuでnanodbcからSQLServerに接続する #2 - テスト編

前回の記事では Ubuntu 環境下で nanodbc の構築とテストを実施しました。 C++ で ODBC 接続するのに便利な nanodbc は、そのテスト範囲も広かったです。もう少し nanodbc で用意されているテストについて掘り下げてみます。 1. テスト内容 SQL Server 用の…

UbuntuでnanodbcからSQLServerに接続する #1 - 導入編

C++ で ODBC 接続するのに便利な nanodbc (http://nanodbc.io/) という C++ wrapper が MIT ライセンスで公開されています。nanodbc は Windows だけでなく Linux や macOS 環境にも対応しています。私も Ubuntu に環境を用意して試してみました。 1. 環境 U…

UbuntuでFreeTDSとtdsppからSQLServerに接続する

久しぶりに FreeTDS を扱う機会を得たので、FreeTDS そのものというか、ODBC を使わずに、C++ で SQL Server on Linux に接続してみたくなりました。 とは言っても、直接 DB-Library / CT-Library を扱うつもりはなく、FreeTDS の Wikipedia にリンクが貼っ…

UbuntuでRustからSQLServerに接続できたけど道半ば

以前、Microsoft が Rust に注目うんぬんの記事を読んで、Rust に興味を持ちました。 SQL Server 公式サイトの接続サンプルに Rust が加わる事を期待してるのですが、残念ながら今のところ存在しません。 気になったので、Ubuntu 上の Rust から SQL Server …

Azure Data Studioを試したらSSMSくらい便利だった

少し前に Azure Data Studio の提供を開始とのアナウンスがありましたが、てっきり Azure SQL Database 専用かと思い、スルーしてました。 Azure Data Studio の提供を開始 | Microsoft Azure Azure Data Studio とは - Azure Data Studio | Microsoft Docs …

LXDコンテナのUbuntuに日本語ロケールを設定してSQLServerをインストールする

ローカル環境の SQL Server 2019 on Linux は、その後、特に問題なく利用できてます。このままでも十分なのですが、パッケージの依存関係や諸々の理由から、開発環境とは分離したいと思うようになりました。 せっかく Ubuntu を使ってるので、試しに LXD コ…

シャットダウン中に mssql-server で止まってしまう

Ubuntu18.04 に SQL Server 2019 をインストールして開発環境は整いつつあるのですが、シャットダウン時に困った状態になりました。 サーバ用途ではない PC なので、使用しない場合は常に電源を切ります。いつものようにシャットダウンの操作をしたところ、…

OLE DBの非推奨が2018年に取り消されてた

2011年に OLE DB が非推奨でサポート廃止になるとのアナウンスがありました。 そろそろ終息したのかなと思ってたら、現在のこんな公式ドキュメントを見つけました。 Microsoft OLE DB Driver for SQL Server - SQL Server | Microsoft Docs OLE DB is now un…

UbuntuでQt5からSQLServer2019に接続する

前回の続きです。 unixODBCからMS版ODBCドライバでSQLServer2019に接続する unixODBC と Microsoft 版 ODBCドライバでの接続が確認できたので、次は Qt5 からアクセスしてみます。 ちなみに、Qt5 の SQLServer 用データベースドライバは QODBC ですが、Unix …

unixODBCからMS版ODBCドライバでSQLServer2019に接続する

Ubuntu で SQL Server on Linux の導入時にコマンドラインツールを導入すると、Microsoft 版の ODBCドライバもインストールされます。 Ubuntu18.04にSQLServer2019をインストールした後は unixodbc-dev パッケージも同時にインストールするし、せっかくなの…

UbuntuでNode.jsからSQLServer2019に接続する

SQL Server on Linux の評価の続きです。 Node.jsとReactの復習したら時代が変わってた Ubuntu で直近の Node.js 環境を整えたばかりなので、Node.js から SQL Server on Linux に接続してみます。 1. 環境 Ubuntu Desktop 18.04.4 LTS 日本語Remix (Linux K…

VSCodeのmssql拡張機能でSSMS気分を味わう

SQL Server on Linux の公式サイトを読むと、sqlcmd コマンド以外に接続する手段があります。 SQL Server on Linux の概要 - SQL Server | Microsoft Docs 本来、Windows PC があれば、普通に SSMS (SQL Server Management Studio) から接続して諸々の操作し…

Ubuntu18.04のSQLServer2019にデータベースファイルを移行する

前回までの続きです。 Ubuntu18.04にSQLServer2019をインストールする Ubuntu18.04にSQLServer2019をインストールした後は Ubuntu 上の SQLServer に sqlcmd で接続するところまで確認しました。次に、Windows 上の SQLServer で使用してたデータベースファ…

Ubuntu18.04にSQLServer2019をインストールした後は

前回の続きです。 Ubuntu18.04にSQLServer2019をインストールする まずは SQL Server 2019 が Ubuntu 上で動作するところまで確認しました。もう curl3 云々の件は忘れて良いみたい。 続いて、SQLServer に接続して、SQL 文を発行してみます。 4. SQL Server…

Ubuntu18.04にSQLServer2019をインストールする

SQL Server 2019 on Linux の提供が始まってしばらく経ちました。ようやくやる気になったので、まずは Ubuntu Desktop にインストールしてみます。 1. 環境 OS: Ubuntu Desktop 18.04.4 日本語Remix (Linux Kernel 5.3.0-28-generic) 今回は SQLServer 専用…

Qt5: 入門Qt4〜QtSqlから使ってみる

「入門Qt4プログラミング」の13章はデータベースについてです。Qt5環境でもテキストに従い、例題を進めます。ただし、接続するデータベースはSQLServerです。 QtCreatorで新しいプロジェクトから「Qtウィジェットアプリケーション」を選択。適当なプロジェク…

Qt5: MSSQL用ドライバを作成

ここまでの準備で、OSXからSQLServerにアクセスできる状態になりました。しかし、残念ながら、まだQtからはアクセスできません。QtのためにMSSQL用のデータベースドライバを作成する必要があります。 その対処方法は公式サイトのSQL Database Drivers に記載…

Qt5: MSSQLへアクセスするために

前のエントリーで、今年の2月くらいに試してた事のまとめは終わりです。もう少し補足してもいいのですが、その前にQt5からSQLServerにアクセスしてみます。 そもそもマルチプラットホームでSQLServerにアクセスするにはどうするのがいいのかと。敢えてSQLSer…

SQL: 別テーブルの内容を反映させる

少し前、同僚が悩んでました。 テーブル更新に失敗したデータベース(1)と正しい内容の古いデータベース(2)があります。ここで、データベース(2)からローを抽出し、その内容でデータベース(1)を更新したい。 え?やっちゃえばイイじゃなーい。 まぁ、別のRDB…

SQL: UNIONでは暗黙のソート処理あり

少し前の事ですが、同じ構造のテーブルを合成する機会がありました。環境はSQLServer2008R2のT-SQL。 よくよく考えれば大した事じゃないのですが、備忘録を兼ねて書いておきます。 DECLARE @tbl_temp1 table ( code NUMERIC(2), name VARCHAR(20));INSERT IN…