前提
お客様が受注管理でAccessを使用しており、かなり古いバージョンのAccessだったため、
Access2016 + SQLserverExpress 2019
の組み合わせに変更しようということになりました。オリジナルのシステムは別の会社が作っており、その会社からのサポートはもうないとのことです。
やったこと
サーバもどきマシンにて
1.windows11マシンに SQL serverExpress2019、SSMS をインストール(混合モード)
2.当方のPCでmigrationしたデータベースをリストア
3.当該マシンで、Accessのアプリケーションが動作することを確認
4.ネットワーク構成マネージャーで、TCP/IPを有効にした
クライアントPCで
5.ODBC for SQL server をインストール
6.ODBC接続を行おうと、ユーザーDSNから、追加を選び
ODBC Driver 18 for SQL server を選択して設定に移る
7.データソース名を入力して、サーバー(s)を選ぶ時に時間がかかるが、正しいインスタンスが表示されるので、それを選択
8.ログインIDとパスワードを入力して、次の画面に移動する
9.規定のデータベースを以下に変更するにチェックを入れて、データベース名が表示されるのを待つが、しばらく経ってエラーがかえってきます。
なお、firewall は切っています。
実現したいこと
サーバもどきマシンと同様に後3台のPC(一応、クライアントマシン)でもACCESSアプリケーションを動かしたい。そのためにODBC接続を確立させたい。
発生している問題・エラーメッセージ
接続できませんでした: SQLState:'08001' [Microsoft][ODBC Driver 18 for SQL Server]MAX_PROVS:指定されたServer/Instanceのいちを特定するときにエラーが発生しました [xFFFFFFFF]; 接続できませんでいた: SQLState: 'HYT00' SQL Server エラー:0 [Microsoft][ODBC Driver 18 for SQL Server][ログイン タイムアウトが時間切れになりました 接続できませんでした SQLState '08001' SQL Server エラー:-1 [Microsoft][ODBC 18 for SQL server][SQL Server への接続の確立中に、ネットワーク関連のエラーまたはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいことと、SQ Serverがリモート接続を許可するように構成されていることを確認してく浅井。詳細については SQL Server オンライン ブックを参照して下さい。
該当のソースコード
試したこと
ODBC18 for SQL Server がダメ?なのかとおもって、普通の(?)のODBCで試してみたのですが、同じ症状です。
補足情報(FW/ツールのバージョンなど)
サーバもどきマシンの firewall は切っています。クライアントマシンのほうはそのままにしています。
テスト環境はwindows10で、問題なく接続できています。
それぞれのマシンから、pingを打つと正しく返ってきます。
エラーメッセージを見る限り、ネットワーク上で見えていないのか?と思います。ただ、インスタンス名の一覧取得は、時間がかかるのですが、取れています。
サーバもどきマシンのフォルダに共有を掛けてみて、クライアントの方でネットワークコンピュータを開くと、サーバもどきマシンは見えるのですが、自分自身は見えません。
サーバもどきマシンでネットワークコンピュータを開くと自分自身は見えますが、他のPCは見えません。これが全てのPCが見えるようになれば問題ないとは思いますが、その方法がわかっていません。
なにかヒントを頂ければと思います。



回答1件
あなたの回答
tips
プレビュー