- 締切済み
accessからSQL-Serverへの接続で
ネットで調べても見つけ方が悪いせいか、参考になりそうなのが見つからなかったので、こちらでも情報を得ようと致しました。 Accessで、ADOを用いて、小さなシステムを作りましたが、フロントをAccessにして、DBをSQL-Serverで作りなおしてみようとしております。 Windows7 Pro 64bitのパソコンにaccess2010にて、当初作成しました。 そのパソコンに、SQL-Server2014 express をインストールしております。 元々、画面とDBを分けてAccessで作成しており、リンクテーブルでつなげております。 SQL-Serverとの接続においても、リンクテーブルでつなげて、同じPC内での正常稼働は確認ができましたが、そのPCをDBサーバーとして、別PCにAccessの画面を置いて、稼働させようとしましたが、エラーとなります。 そこで、接続設定及びコードの書き方を教えて下さい。 本来なら、サーバ機とサーバOSを購入してなのでしょうが、基幹システムでもない限り、購入費用はねん出してくれません。PC買うのにも渋り、HDDやCPU等の部品だけを購入して、私が直し、未だにXPを社員には使ってもらっているような中小企業であることをご理解ください。 環境イメージとして、 <サーバ> Windows7 Pro 64 bit SQL-Server 2014 express PC名:AAA DB名:YYY saアカウントで、パスはxxxx <クライアント> 現在Accessだけでも最大接続3名いるかいないかなので、とりあえず1台として Windows7 Pro 32bit Access2010ランタイム accdeのフロント部分 リンクテーブルでADOでサーバにつなぎに行きたい。 accdbでODBC接続設定をしたものをaccdeに変換したものを配布。 他PCからの接続には、ファイアウオールの設定等々も必要とのことで、それは施しました。 また、下記、コードを追加。 Dim cnnS As ADODB.Connection Dim recW As ADODB.Recordset Set cnnS = New ADODB.Connection Set recW = New ADODB.Recordset cnnS.Open "Provider=SQLOLE DB;" & _ "Data Source=AAA\SQLEXPRESS;" & _ "User ID=sa;" & _ "Password=xxxx;" & _ "Initial Catalog=YYY" これで、サーバ内で実行すると、 「実行時エラー 3704 オブジェクトが閉じている場合は、操作は許可されません」 と表示され、リンクテーブルは生きているので、開けて、操作できてしまいます。 次に、accdeを他PCにて稼働させると、 「実行時エラーが発生したため、このアプリケーションの実行は中断されました。 アプリケーションを実行できません。システムはシャットダウンされました。」 と表示され、稼働しません。 どのようにすればよろしいのでしょうか?。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- oboroxx
- ベストアンサー率40% (317/792)
SQL Sever Expressはデフォルトではネットワーク越しの接続は許可されてないので、開放しなくてはなりません。 参考URLを参考にしてみてください。
補足
ご回答ありがとうございます。 申し訳ないのですが、頂いた回答の設定は既に済ませております。