こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

現在、会社のデータベースをaccessで構築しています。

現在、会社のデータベースをaccessで構築しています。

【 5台のPCで、1台のPCにメインのaccessを置き、他PCからはリンクして共有できるようにしています。
OSはそれぞれXP、メモリは512以上、accessは2000で、各PCのLANポート、LANケーブル、ハブ、はGiga bitに替えています。
管理者は、独学でaccessを使い始めたので、専門用語の使い方など至らない部分もありますが、ご了承願います。。。 】

accessを使いはじめてから1年くらいたちますが、検索するのにかなり時間がかかるようになりました。
【 業務内容は、主に顧客にTELして、会話の大まかな履歴を入力していくというカンジです。一覧の帳票フォームから選んだ顧客のボタンを押すと、詳細が書かれた単票フォームが表示され、それに入力していきます。
そのときの単票フォームが表示されるまでの時間が長いです。(10~30秒)→その単票フォームにサブフォーム、クエリがともに10個ほどはいっているため、遅いのだと思うのですが。ただ、これらは業務上不可欠なデータなので、そこは削れないのです。
テーブル、クエリ、フォームはそれぞれ100個以上あり、顧客データのみで6000件、会話履歴データのみ15000件ほどです。 】

それで何とか検索スピードを早くしたいとネットで調べ、できる限りのことは色々試してみました。
【 ギガビットの接続、テーブルのサブデータ名を『なし』にする、Autoexecで非表示のダミーフォームを開く、こまめな最適化 】

それで、一番手軽?で効果的なのが、テーブル自体はSQLに移行して、フロントエンドはaccessを使うことだという結論に達した(いろんな方の意見をまとめた)ので、早速お試しで、無償版のSQL server 2005 express をインストールしてみました。

インストール後、業務で使用しているメインのDBファイルをコピーして、ツール→アップサイジングと選択し、アップサイジングウィザードが表示されて、
●『このデータベースに使用する SQL Server を指定してください。』
→(local)でないものを選択
●ログイン、IDを入力
●SQLデータベース名→既定の『upsized_detabase』
という流れで『次へ』のボタンを押すと下記のエラーメッセージが表示されます。

----------------
接続できませんでした。:
SQLState:'01000'
SQL Serverエラー:2
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (ocnnect()).
接続できませんでした。:
SQLState:'08001'
SQL Serverエラー:17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました。
----------------

ここから先に進めなくて困っています。

Office2000のSP3を当てたらうまくいったという内容も拝見しましたが、SP3インストール後リトライしても変わらずでした。

accessが古いというのに加え、無償のSQLを使おうとしている環境自体がよろしくないというご指摘もあるとは思うのですが、その環境で構築されている方もいらっしゃるみたいなので、なんとかできる限りはこの環境でできないものかと模索している状況です。
(一方でaccess2000から、SQL2005expressにアップサイズするのは無理、という内容もみかけたりもしました。)

どなたか解決策がおわかりの方、知恵を貸していただければ幸いです(^^)
長文最後まで読んでいただき、ありがとうございました!!

投稿日時 - 2010-02-12 07:38:42

QNo.5669747

困ってます

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

似たような事やった事あるので注意点を記載しておきます。

経験環境
+- ACCESS2003/SQLServer2005
+- ACCESS2003のアップサイジングウィザードの実行

◆説明(1)
>アップサイジングウィザードを試みましたが、
>最初と全く同じで、サーバ名がlocal、空白、
>マシン名-OFFICEの3つの選択項目があるだけで、
>どれを選んでもエラーになります。
>その後にOKボタンを押すと、『SQL Server ログイン』
>という小さい画面が出てきて、

この小さい画面は初めの接続が上手くいかないときに出る
再入力画面ですので説明は省きます
※無視して構わない、説明(2)以降が正常動作すれば出てきません。


◆説明(2)
>アップサイジングウィザードを使用したときは、
>『マシン名-OFFICE』しか表示されない

"マシン名¥SQLEXPRESS"を、手入力してください
一度正常に登録ができると以降リストに記憶されます。


◆説明(3)
説明(2)で出来ない場合、ユーザIDとパスワードを疑います、
ここで入力するユーザIDは、SQLServerに登録されてる
ユーザIDを入力します
SQLServerにちゃんと登録されているか確認して見てください
※管理ツール(SQL Server Management Studio Express)で
 確認及び作成を行なってください。

◆説明(4)
説明(3)で出来ない場合、SQLServer2005のTCP/IP解放を疑います
ただし、SQLServer2005のインストールが、ACCESSが実行されるPC
とは別のPCの場合のみ疑います。
SQLServer2005のTCP/IPが解放されているか確認して見てください
※管理ツール(SQL Server Management Studio Express)で
 確認及び解放を行なってください。
※同じPCにインストールされてる場合は、TCP/IP解放しなくて
_良いと思う(未確認)

以上、参考になれば良いのですが。

投稿日時 - 2010-02-15 21:40:08

お礼

Anzu4699 様
ご回答ありがとうございます!!

アップサイジングができました!!
めっちゃ感動してます!!

こういう質問が他にないのと、自分の知識がないのとで、PCに精通した人しかできないものだと、正直諦めていたところでした。。。
(実際は、『オーバーフロー』のメッセージがでましたが、その手の質問はけっこうあったので、それを参考にしてできました。)
説明(2)の部分が解決できた内容ですが、説明(3)(4)も今後使う事があると思うので、また参考にさせていただきます。

文章でしかお礼ができないのがもどかしいですが、本当にありがとうございました!!

他のご回答者様にも、この場をもってお礼申し上げます。

投稿日時 - 2010-02-16 17:32:04

ANo.1

Access2000のアップサイジングウィザードは分からないのですが、

>→(local)でないものを選択
・SQL ServerをインストールしたPCでテストしていますか?
 そうであれば、(local)でないものとは何でしょう?
 逆にリモートのSQL Serverの場合は、ファイアウォールの設定と、SQL Server自体のリモート接続の許可も必要になります。
・管理ツール(SQL Server Management Studio Express)はインストールしてみましたか?
 http://www.microsoft.com/downloads/details.aspx?familyid=5D76230D-580D-4874-8C7D-93491A29DB15&displaylang=ja
・アップサイジングウィザードの使用にはこだわりますか?

どの方法でSQL Serverを使うのであれ、接続に必要な情報というのは限られています。
SQL Server 2005 Expressであれば、以下のものだけです。
・サーバ(インスタンス名) マシン名\SQLEXPRESS
・ユーザ名、パスワード   SQL Server認証の場合
今回の場合、サーバが見つからないと言われているので、ローカル接続であれば、インスタンス名の指定(localhost\SQLEXPRESS)が正しくないか、サービスが上がっていないか、いずれにしても理由は限られると思います。

投稿日時 - 2010-02-12 11:33:23

お礼

jamshid6 様
ご回答ありがとうございます!!
>・SQL ServerをインストールしたPCでテストしていますか?
→はい、インストールしたPCでテストしています。

 >そうであれば、(local)でないものとは何でしょう?
→『(マシン名)-OFFICE』という名前の選択項目があったので、それを選びました。

>・管理ツール(SQL Server Management Studio Express)はインストールしてみましたか?
→これはインストールしてなかったので、先ほどインストールしました。
今までSQL自体を操作できなかったのですが、これで一つ前進できました!!
そしてこのときにサーバ名が(マシン名¥SQLEXPRESS)となっていました。

>・アップサイジングウィザードの使用にはこだわりますか?
これ以外にテーブル(クエリも)を簡単に移動する方法がわからないので、ウィザードを使用したいと思っています。他にできる方法があって、ちょっと知識をつけてできるようなものがあるのなら、調べてやってみたいと思います。

確かにサーバ(インスタント名)が、『マシン名¥SQLEXPRESS』ではなく、『マシン名-OFFICE』となっているという点が、接続できない原因だということが分かりました。
ただ、SQL Server Management Studio Express開いたときに、
サーバ名『マシン名¥SQLEXPRESS』と表示されるのが、
アップサイジングウィザードを使用したときは、『マシン名-OFFICE』しか表示されないということは、access側で何か設定を変えないといけないのでしょうか、、、

さきほど、SQL Server Management Studio Expressをインストールしたあと、再度アップサイジングウィザードを試みましたが、最初と全く同じで、サーバ名がlocal、空白、マシン名-OFFICEの3つの選択項目があるだけで、どれを選んでもエラーになります。

その後にOKボタンを押すと、『SQL Server ログイン』という小さい画面が出てきて、再度サーバ名を選択するところがあるのですが、そこには
・local
・マシン名-OFFICE
・マシン名-OFFICE(上と同じもの)
・マシン名のみ
と4つの選択項目がありました。
(どれを選んでも結果は同じです。)

お礼の内容の中に、また質問を入れてしまい恐縮ですが、もし何かお分かりになることがありましたら、再度ご教授頂けたらと思います。

投稿日時 - 2010-02-12 23:19:04

あなたにオススメの質問