• ベストアンサー

レンタルサーバでのDB接続の件

ファーストレンタルサーバー(http://www.1strentalserver.com) というところでjavaレンタルサーバを借りました。 しかし、dbに接続して、参照、更新等することができません。 メールで問い合わせても、まともな回答が返ってきません。 dbに接続し、参照更新しているサンプルソースをもらえるとありがたいです。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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でもいけると思うんですが・・・。 無理なのかな? 向こうに確認した方が早いんじゃないの?

noby-
質問者

補足

回答有難うございます。 ファーストレンタルサーバにも聞いているのですが 1週間ぐらい返事がありません。 電話でのやり取りもできなくて、メールでも返事がなかなか来ない。 皆さんこんなところで、レンタルするのはやめましょう!! とにかく今は、糞レンタルサーバー会社の返事を待つしかなさそうです。 皆さん有難うございました。

その他の回答 (5)

回答No.5

こんにちは。 >「当社まで連絡してください」← どこに書いてありますか? 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やめて、直接やれば繋がりそうな予感・・・。

noby-
質問者

補足

回答有難うございます。 Mysqlに直接つなげる方法はどのような書き方になりますか? ソースをもらえるとありがたいです。 以下の条件での記述方法を教えてください。 ====================== データベース名 HelloWord データベースユーザ wings パスワード 12345 ====================== 宜しくお願いいたします。

回答No.4

こんにちは。 補足拝見しましたが、そこは関係ないですね・・・。 レンタルサーバーの会社に連絡して、コネクションの取得方法を聞き出すしかないです。 (JNDIで駄目なら、#3さんが仰るように、直接接続してみるのもアリですが・・・) 向こうが「当社まで連絡してください」と言っている以上、それに従うしかないかと・・・。

noby-
質問者

補足

回答有難うございます。 「当社まで連絡してください」← どこに書いてありますか? スミマセン。探し方がヘタなので。

回答No.3

JNDI利用、つまり、ContextからlookupしてDataSourceを取得する方法は、 どこか、他(たとえば、Tomcatなど)でDataSourceをContextに登録しておく必要があります。 そもそも、JNDIを利用するやり方は、運営会社からの指示ですか? それとも適当にサンプルソース漁っただけ? JNDI利用以外にも、接続文字列を指定して、直接データベースと接続するやり方もあります。 あなたが実行したいのは、JVM上で直接実行されるJavaアプリケーションでしょうか? それとも、Tomcatやjboss上で実行されるWebアプリケーションでしょうか? 前者であれば、直接コネクションを取得するのが一般的ですし、 後者であれば、Tomcatやjboss等のコンテナでコネクションを管理して、JNDIで取得するのが一般的かと思います。

noby-
質問者

補足

回答有難うございます。 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個だけしかできないことになってしまうのではないでしょうか?

回答No.2

こんばんは。 JavaからMySQLを使用する場合は、当社まで連絡してください・・・、とありますが? まぁ、その時点で意味不明ですね。 #1さんの補足を見ると、JNDIを利用しようとしているみたいですが、JNDIに登録されている設定になっているんですかね?

noby-
質問者

補足

回答有難うございます。 申し訳ありません。 初心者なのでJNDIに登録されている設定になっているかどうかわかりません。 どこら辺を見ればいいのでしょうか? 関係ないかもしれませんがapacheとmysqlのバージョンは以下のとおりです。 ======================= WWWディレクトリ /home/demizu/public_html ルートディレクトリ /home/demizu Apacheバージョン 2.2.13 MySQLバージョン 5.0.91-community

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

そのdbはどこにあるのでしょうか? レンタルサーバの中?レンタルサーバとは違うところ? dbっていったい何?postgres?Mysql?javadb?????

noby-
質問者

補足

説明が足りなくてすみません。 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; }

関連するQ&A