Accessで商品管理をしていて、ボタン一つで商品情報をレンタルサーバのmysqlに挿入したいと思っています。ODBC接続で接続できると思うのですが、ODBC接続を許可しているレンタルサーバはあるのでしょうか?
ウェブ上で直接データを挿入すればいいだけだと思ったのですが(管理ページ作って)、ウェブ上でデータ挿入したりするのは手間で嫌らしいです。例えば100点商品があるとします。1点づつフォームに入力して挿入ボタンを押す、その繰り返しを100回やるのは手間。なので、可能であればAccessでデータを作って、ボタン一発で挿入したいとのことです。
しかもAccessでデータ管理をできればExcelで楽にデータを分析できるから上記のようなことをしたいです。
ウェブショップの規模、お金の面はとりあえず置いておいて、何か代替案みたいなのがあればお教えください。
ローカルでCSVを吐き出して、それをSQLへインポートってのはどうでしょうか?EC-CUBEにそんな機能があります。
現在自分のお客さんでまさにネットショップ開店をした方がいます(当方自営)
サーバからデザインまで一手に任されたで、その経験上からお答えします。
参考になれば幸いです。
CSV形式で商品情報をまとめて、Webサイト上の管理画面でCSVをアップロード。
また、逆にサーバ上にある(商品含めすべての)情報からCSVを生成してダウンロードできるように。
CSVであればExcelやAccessでも容易に作り出す事ができますし、
他のソフトでも流用できるでしょう。
実際にサーバにあるデータと、管理するPCとの間でデータの差異が発生する恐れはありますが、
無難な方法ではないでしょうか。
楽天などもCSVでデータをアップロードできますし。
それに、例えばサーバを代えた場合などでも、CSV周りのスクリプトをいじってあげれば
それで済みます。ODBCを使った場合に比べて、開発の手間や不具合の数で有利だと思うのです。
「ボタン一発で挿入したい」希望を叶えるには、やはりODBCでないといけませんね。
http://www.winserver.ne.jp/service/index.html
ここが可能のようです。ODBC レンタルサーバ でGoogle検索して1番目に出ただけですが。
ただ、ODBCにしたところで、管理ソフトのレスポンスが遅くなる可能性はないでしょうか。
結局のところ業務効率が悪くなってしまっては、元も子もないかと。
ありがとうございます。大変参考になりました。
ODBCというのはローカルPC上で動いているデータベースドライバであって、
MySQLの動いているレンタルサーバ側には何も関係有りません。つまりMyODBC
ドライバは、AccessとはODBCのプロトコルで通信しますが、MySQLサーバとは
MySQL固有のプロトコルで通信します。
従って「ODBC接続を許可しているレンタルサーバ」というのはナンセンスで、
質問としては「MySQLを外部から接続可能なように設定できるかどうか」が
正しい。
で、どういうレンタルサーバを借りようとしているのか知りませんが、
ウェブショッピングに使うような用途のものであれば、自分でそのように
設定すればよい、というか、しなきゃならない(セキュリティも考慮の上で)、
というのが答えかと。
。
出来ない事はないですが、
自分のPCから、レンタルサーバーへのインターネット経由でODBC接続は、難しいと思います。
私はネットワーク関係の仕事をおり、類似のケースを検討した事もありますが、
技術的にも費用的にもあまりお勧めできないかと思います。
もしやるとすれば、リモートデスクトップが使えるサーバーを用意して
http://q.hatena.ne.jp/1172477081
そこに、AccessのデータをFTPなどで転送してODBC接続をする。というのが良いかと思います。
一般企業で実施している方法だと、他の方が言われているとおり、
Accessで商品登録をしたものをCSVファイルにして、取込用のフォームを作って一気にアップロードするか、
TelnetとFTPを利用して、CSVファイルで挿入するのが、費用的にも時間的にも一番効率が
良いように思います。
ありがとうございます。大変参考になりました。
MySQL に外部から接続できるか否か,という問いに対しては,格安系をのぞき,ネットショップを開設するに当たり想定される,まともなレベルのサーバ(月額10,000円以上程度)であれば,ほぼどこでも可能です
MySQL は,どの IP から接続を拒否するか,といった情報を自分自身で管理する機能を持っており,ファイアーウォールのルールが設定されている,など特殊な理由が無ければ,外部から接続可能です
詳しくは,ドキュメントの GRANT節に説明があります
http://dev.mysql.com/doc/refman/5.1/ja/adding-users.html
ただし,ここでの通信は暗号化されないので,この機能はローカルのネットワークを想定していて,手元の PC から,レンタルサーバへの接続が技術的に可能とはいえ,やってはいけません
なお,蛇足ですが id:kamicupさんの回答ですが,揚げ足取りをしているわけではなく,ODBC の仕組みを調べれば分かりますが,ODBC でリモートの MySQL に接続するというのはおかしいですから,id:popattack さんがサーバをお探しになる際に,サーバ会社に「ODBC で接続できますか?」と質問したら,「できません」と言われるはずです.「MySQL に外部から接続できますか?」と聞かないと,望んだ回答が得られないと思います
ちなみに,逆に質問になってしまいますが Access で管理するとしても,Access に登録をする際には,1点ずつフォーム入力して挿入ボタンを押すんですよね? Access なら面倒ではなくて,ウェブフォームなら面倒な理由があるのでしょうか?(私が Access に疎いからかもしれませんが,魔法みたいにカンタンに登録できるツールなんでしょうか?)
代替案ですが,CSV 以外の方法としては,mysqldump と SCP/SFTP を使って,サーバとクライアント(こちらにも MySQL を入れておき,こちらは Access と MyODBC で接続する)でデータをコピーする方法が考えられますが,ウェブフォームから入力する手間より,はるかに手間だと思います.商品点数が1万点くらいなら,この方法もありえます
ありがとうございます。