OLE DBはアカン。

OLE DBはアカン。

お試しで開発しているシステム(VB.NETアプリケーション + SQL Server Express)がありまして、
ふとしたことから、アプリケーションとデータベースのマシンを分けてみたところ、

以下のようなエラーが出た。

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server が存在しないか、アクセスが拒否されました。

ナンスカソリャ?

接続文字列の、ユーザー名とパスワードが間違えたかな、と思って確認してみたところ、
同じようにエラーになる。

ナンスカソリャ?

アプリケーションとデータベースが同じマシンである場合は、エラーにならない。
アプリケーションとデータベースが異なるマシンである場合、必ずエラーになる。

意味が分からん。

む!ファイアウォールが邪魔しとんのか?
む?ポートか!ポートとかいうやつを解放したったらええのか?
ほな解放じゃ!このクソボケ!オリャア!(o・曲・)=>>> ブシュ!

と、あちこち穴あけてみたけどやっぱりダメでした。
そりゃダメでしょうよ。

まったく進展がないまま2時間くらい経ったところで、
ためしに他人が作ったアプリケーションで同じ実験をしてみたところ、いけた。

ということは、つまり、アプリケーションの問題。
さらにいうならば、ワシのコーディングに問題があるということです。

バカナ。

ワナワナしながら、他人のコーディングとワシのコーディング、
いったい何が違うのかを調べてみたところ・・・ゴクリ。

なんと、
データアクセスに使ってるAPIが違った!

SqlClient →エラーにならない
OLE DB → エラーになる

つまり、OLE DBはアカンちゅうことです。
なんでアカンのかは、まったくわからんし、知りたくもないですので、
OLE DBがらみのコードを、全部SqlClientに書き換えて、一件落着とした。

OLE DBはアカン、そもそも名前がアカン。
OLE DB(オレ・デブ)

プークスクスクスクス(o´・∀・)y~

PAGE TOP ▲

お問い合わせフォームはこちら

お客様のビジネスの規模・内容に従い、最適なアプリケーションをご紹介します。
アプリケーションの導入・連携支援は、ぜひ、システムキューブにお任せください。

Copyright © 2022 System Cube Co.,Ltd. All Rights Reserved.