- ベストアンサー
レンタルサーバでのDB接続の件
ファーストレンタルサーバー(http://www.1strentalserver.com) というところでjavaレンタルサーバを借りました。 しかし、dbに接続して、参照、更新等することができません。 メールで問い合わせても、まともな回答が返ってきません。 dbに接続し、参照更新しているサンプルソースをもらえるとありがたいです。 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 探せばなんぼでも出てきますが・・・? 昔ながらの Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost(かどうかは知らんが・・・):3306(ポートも不明・・・)/HelloWord","wings","12345"); とか、最近は com.mysql.jdbc.jdbc2.optional.MysqlDataSource や com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource 使うとか・・・。 Context.xmlが使えれば、JNDIでもいけると思うんですが・・・。 無理なのかな? 向こうに確認した方が早いんじゃないの?
その他の回答 (5)
- taka451213
- ベストアンサー率47% (436/922)
こんにちは。 >「当社まで連絡してください」← どこに書いてありますか? http://www.1strentalserver.com/support/knowledgebase.php?_m=knowledgebase&_a=view&parentcategoryid=4&pcid=0&nav=0 の中段少し上あたり。 以下コピペ。 MYSQLは利用できますか。 PHPADMINによりコントロールパネルより利用できます。内容については、それらについて書かれている書籍等を参考にお使いください。 Java関連でMYSQLをご利用になられたい場合には、当社までご連絡ください。 このFAQが何を意味しているのかもさっぱりわかりませんが・・・。 素直に読めば、今回は対象範囲という事かな??? Java共有サーバーのFAQには、データベースに関する記事が一切見当たらないので、みんな上手く繋がってるという事なの? JNDIやめて、直接やれば繋がりそうな予感・・・。
補足
回答有難うございます。 Mysqlに直接つなげる方法はどのような書き方になりますか? ソースをもらえるとありがたいです。 以下の条件での記述方法を教えてください。 ====================== データベース名 HelloWord データベースユーザ wings パスワード 12345 ====================== 宜しくお願いいたします。
- taka451213
- ベストアンサー率47% (436/922)
こんにちは。 補足拝見しましたが、そこは関係ないですね・・・。 レンタルサーバーの会社に連絡して、コネクションの取得方法を聞き出すしかないです。 (JNDIで駄目なら、#3さんが仰るように、直接接続してみるのもアリですが・・・) 向こうが「当社まで連絡してください」と言っている以上、それに従うしかないかと・・・。
補足
回答有難うございます。 「当社まで連絡してください」← どこに書いてありますか? スミマセン。探し方がヘタなので。
- satomi3951
- ベストアンサー率71% (98/137)
JNDI利用、つまり、ContextからlookupしてDataSourceを取得する方法は、 どこか、他(たとえば、Tomcatなど)でDataSourceをContextに登録しておく必要があります。 そもそも、JNDIを利用するやり方は、運営会社からの指示ですか? それとも適当にサンプルソース漁っただけ? JNDI利用以外にも、接続文字列を指定して、直接データベースと接続するやり方もあります。 あなたが実行したいのは、JVM上で直接実行されるJavaアプリケーションでしょうか? それとも、Tomcatやjboss上で実行されるWebアプリケーションでしょうか? 前者であれば、直接コネクションを取得するのが一般的ですし、 後者であれば、Tomcatやjboss等のコンテナでコネクションを管理して、JNDIで取得するのが一般的かと思います。
補足
回答有難うございます。 Tomcatで実行されるWebアプリケーションです。 一応、自分のパソコンの中では、動作確認済みです。 自分のパソコンの中では、 web-infのフォルダを複数作れた為DBも複数作れたのですが、 レンタルサーバ上だと htmlの1箇所しかweb-infのフォルダを作ることができません。 その為、context.xmlやweb.xmlに内容を記述していません。 以下がレンタルサーバの会社から来たメールです。 ==================================================== classファイルを下記のフォルダーにUPLOADして下さい。 /var/www/html/WEB-INF/classes/ 例としまして test.class を /var/www/html/WEB-INF/classes/ にUPLOADしますと、URLは http://< >/servlet/test になります。 ===================================================== html/WEB-INF/classesの中のクラスファイルしか認識されないということは dbの指定も1個だけしかできないことになってしまうのではないでしょうか?
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 JavaからMySQLを使用する場合は、当社まで連絡してください・・・、とありますが? まぁ、その時点で意味不明ですね。 #1さんの補足を見ると、JNDIを利用しようとしているみたいですが、JNDIに登録されている設定になっているんですかね?
補足
回答有難うございます。 申し訳ありません。 初心者なのでJNDIに登録されている設定になっているかどうかわかりません。 どこら辺を見ればいいのでしょうか? 関係ないかもしれませんがapacheとmysqlのバージョンは以下のとおりです。 ======================= WWWディレクトリ /home/demizu/public_html ルートディレクトリ /home/demizu Apacheバージョン 2.2.13 MySQLバージョン 5.0.91-community
- SaKaKashi
- ベストアンサー率24% (755/3136)
そのdbはどこにあるのでしょうか? レンタルサーバの中?レンタルサーバとは違うところ? dbっていったい何?postgres?Mysql?javadb?????
補足
説明が足りなくてすみません。 dbはレンタルサーバの中です。 dbはmysqlです。 現在DB接続処理は以下のように書いています。 private Connection getConnection() { try { Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/<<データベース名称>>); Connection con = ds.getConnection(); return con; } catch(Exception e) { e.printStackTrace(); } return null; }
補足
回答有難うございます。 ファーストレンタルサーバにも聞いているのですが 1週間ぐらい返事がありません。 電話でのやり取りもできなくて、メールでも返事がなかなか来ない。 皆さんこんなところで、レンタルするのはやめましょう!! とにかく今は、糞レンタルサーバー会社の返事を待つしかなさそうです。 皆さん有難うございました。