pyodbc.Error: ('HYC00', '[HYC00] [Microsoft][ODBC SQL Server Driver]オプションの機能は実装されていません。 (0) (SQLBindParameter)')

 

1.問題

 エラーメッセージの意味(どういう時にこのメッセージを出力するか)が分からなかったため,急に発生して原因究明に時間を要してしまいました。

 

2.直接的原因

 今回の発生原因は,データベース(SQL Server 2022)のDATE型(pythonから見るとdatetime型)で定義しているカラムに

date型の値を更新・挿入しようとしたためでした。

 

3.対策(原因が分かれば簡単)

 python上でdate型ではなく,datetime型の変数(値)でSQL Server のDATE型カラムの更新・挿入を行うようにしました。

 

4.感想

 Copilot(プレビュー版)だと別の原因調査を案内されたが解決しませんでした。

 「オプションの機能」と言ってもそんな難しい機能を使うつもりは全くありませんでした。

 なので見当を付けるのに遠回りしてしまいました。

 

 

OS Windows 11 Pro 23H2(Build 22631.4037)

データベース SQL Server 2022

プログラム言語 python

ODBCドライバー ODBC Driver 18 for SQL Server(64-bit) 18.4.1.1  msodbcsql18.dll

カウンター席を利用したのは初めてです。

21番-2の席で食べました。

1番に付き2名(相席あり)なのですね。

注文して赤い台に「白色」と書いてあるのが良く分からなく,注文したお寿司が流れて行っちゃうところでした。

 

時間の合間に寄っただけなので5皿のみ。

確かに真鯛とかネタは結構良かったです。

 


都内へ行く用事がありそうなので、1ヶ月の通勤定期券を購入しました。

都内と言っても一箇所じゃなく、山手線内の複数駅が目的地になります。
なので通勤定期券の購入区間は、自宅の最寄り乗車駅から山手線接続駅にしました。

私の場合、普通運賃(そもそもこれが高い)✖️2(往復分)÷定期券代=12.9。
一ヶ月の内13往復以上するなら、一ヶ月でも通勤定期券の方がお得なのです。

この一ヶ月、10〜15往復の予定なので微妙なんですが気兼ね無く電車に乗れる(途中下車もできる)ので良しとしましょう。