刹那(せつな)の瞬き

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

プログラミング

RustでSQLServerへの接続プールにdeadpoolを試してみた

以前、PostgreSQL で非同期な接続プールに deadpool を利用したことがあります。 GitHub - bikeshedder/deadpool: Dead simple pool implementation for rust with async-await deadpool/postgres at master · bikeshedder/deadpool · GitHub PostgreSQL へ…

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から…

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 モジュールを直接利用してコーディングする場合、どうしてもイベントの記述が煩雑になりがちなので、ずっと敬遠してました。 し…

Nanaのthreads::poolを利用してnanodbcの実行結果を表示する

Linux 環境でも ODBC 接続をスレッド内で利用可能なのは確認できました。 もう一歩進めるとスレッドプールやワーカースレッドの話が出てきますが、どうせならGUI を絡めてみたくなりました。 ウィンドウを表示して、そこに結果セットを表示したくなるのは自…

std::threadを利用してnanodbcからクエリを実行する

現在 Linux 環境の ODBC 接続では SQL_ATTR_ASYNC_ENABLE に SQL_ASYNC_ENABLE_ON を設定しても機能しません。※iODBC や商用ドライバは調べてません。そして nanodbc の async_ 系関数も Linux 環境では実装されてません。WaitForSingleObject()とか無いもん…

Ubuntu20.10でnanodbcからODBCの対応状況を確認する

Ubuntu というか Linux 環境で RDBMS 、特に SQL Server へ ODBC 接続していると、ついつい Windows 環境と同等な動作を期待してしまいます。 そもそも前提が異なるので完全互換は期待してません。それでも、どの程度対応してるのかな?と思い立ったので、C+…

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 …

UbuntuでQt5からSQLServer2019に接続する

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

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…

Node.jsとReactの復習したら時代が変わってた

2020年に入って数年振りに Node.js を試したら、今時の React 関連もに触れたくなり、とある書籍のサンプルを試してました。 しかし、すんなり動くと思ってたところがエラーの山。スムーズに行かなくて、心が折れかけましたよ。ホント。 その書籍は2017年発…

Linux Mint 19.1にもSDL2をソースから導入してみた

前の記事では PPSSPP でゲームパッドを正しく認識させたくて、Ubuntu 19.04 にSDL環境を導入してみたのですが、検証中にメモしてた内容が色々混ざってしまってたようです。 改めて Ubuntu 18.04 ベースな Linux Mint 19.1 "Tessa" Cinnanon で検証したら、SD…

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

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

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

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

一週間の成果が無駄になりかけた

一週間がんばったのに無駄だった…。 みたいな事を、昨日書くつもりだったのですが、何とか報われそうです。半ば諦めてたので、つい嬉しくてエントリー書くよりも検証の方を優先してました。 「あきらめる?あきらめたら そこで試合終了ですよ…?」 by 安西先…

Composerからのautoloadって

とりあえずapp/autoload.phpに書いてみたものの、Composerが気になります。 Composerが依存管理してるなら、次はどうすれば良いんだろ。vendor/composer/installed.jsonを読むと"autoload"の記述が。composer.jsonにもあるけど、ここで良いのかな。 { "name"…

symfony2.1のautoloaderって

Symfony2の勉強だてら、サンプルを動かしてみることにしました。サンプルはsymfony2.0で作られています。でも、私の環境はsymfony-2.1.2.zip。 最初は順調だったのですが、クラスのnamespaceを登録するところで困りました。symfony2.0と2.1でapp/autoload.ph…

PEARを設定する

OS X 10.8にPHP5.4をインストールしてから、PEARを設定するのを忘れてました。なので、既定のPHP(標準のphpは5.3)のように、 sudo php /usr/lib/php/install-pear-nozlib.phar と、するつもりだったのですが、そういや、PHP5.4はMacPortsから入れたのでした…

Gitを入れる

ちょうど一週間前、ようやくGitを使う決心がつきました。github.comから都度zip形式でダウンロードしてましたが、そろそろ限界です。もう、大勢に逆らえません。 ネットの情報を参考にMacPortsからgit-coreとgit-flowをインストール。git config --global.△△…

Java: List<String>の書き方って

先日「パーフェクトJava」を購入し、Javaの復習を始めてます。主にPHPのエディタとして使ってるNetBeans7.2ですが、普通にJavaにも使おうかと。一応、最新のJDK7も入れてあるので、環境は問題ないでしょう。で、ふと気になった事があります。LinkedListを使…

フレームワーク覚えられるかな

PHP5の文法を覚えてから、ポータルサイトもどきのデータ照会画面は作れるようになりました。もっともPHPというよりは、HTMLにCSSとjQueryで組んでる感じ。PHPは主にデータアクセスとli要素への展開というベタな使い方です。素のPHPで業務系のデータを照会で…