🫠

Unable to connect: Adaptive Server is unavailable or does not exist

2024/10/21に公開

Unable to connect: Adaptive Server is unavailable or does not exist (ホスト名) (TinyTds::Error)がrailsのコンソールででる

Ruby・Rails で開発をしている時に、テスト用のDBサーバ(SQLServer)を使用していると、コンソールで上記のエラーが出たので共有します。

https://github.com/rails-sqlserver/tiny_tds/issues/218

上記のサイトでも似たようなエラーが見られますが、Azure を私は使っていないし、日本語じゃないしで全然わからなかったです。

しかし、IRB Codeのところを参考にして、
irb>require 'tiny_tds'
irb> client = TinyTds::Client.new username: 'ユーザ名', password: 'パスワード', host: 'ホスト名', port: 1433, database: 'DB名'
と叩くと、同じエラーが出ました。
その時に、テスト用のDBサーバが急に動き出した感じがあったので、もう一度叩くと、エラーは出ませんでした。

以上の事から、テスト用のDBサーバのスリープじゃないかという結論になりました。

本番用サーバは24H稼働してくれるので、テスト用のPCだからこそ起きるエラーでした。

テスト用のPCがスリープしているというのは、わかりやすいようで盲点だと感じました。

似たような境遇の方の一助になれば幸いです。

Discussion