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

解決済みの質問

JavaからSqlServer2008への接続

Java + EclipseからSqlServer2008への接続を勉強しています。

MidldegenというEclipseのプラグインを入れてhibernateのファイルを作成しようと試しているのですがうまくいきません。
Sql Server Management Studio2008でsaでログインし、[db1]というデータベースを作成し、その中に[tbl1]というテーブルを作成しています。

新規追加でMidldegenを選択するとフォームが表示されます。
フォームには以下の入力項目があります。
JDBC jar ->・・・sqljdbc.jar
JDBCドライバ ->com.microsoft.sqlserver.jdbc.SQLServerDriver
データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=db1
ユーザ ->sa
パスワード ->saのパスワード
スキーマ ->空白です
カテゴリ ->空白です
ビューを含める ->false

この状態でテーブル読み込みをすると
「データベース'%'が存在しません。名前が正しく入力されていることを確認してください。」
というエラーが出ます。。。

データベースURI ->jdbc:sqlserver://localhost:1433;databaseName=サーバ名\db1
とし、テーブル読み込みをすると
「このログインで要求されたデータベース"サーバ名\db1"を開けません。ログインに失敗しました。」
というエラーが出ます。。。

どなたかご教示よろしくお願いします

投稿日時 - 2009-03-07 19:44:39

QNo.4776874

困ってます

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

#1です。ちょっと時間があったのでmiddlegenで試してみました。
確かに日本語は「カテゴリ」になっていますが、これは「カタログ」の間違いですね。
「スキーマ」「カテゴリ」を指定したら接続できました。

少し気になっていたのは、質問者さんは少し前にSQL Server 2008のExpress Editionを入れていませんでしたか?
そのときにデフォルトインスタンスに変更してインストールしたのですか?Express EditionはデフォルトではSQLEXPRESSインスタンスでインストールされますし、TCP/IPが無効なので、JDBCで使うにはTCP/IPを有効にして固定ポートを割り当てる必要があると思いますが。。

投稿日時 - 2009-03-07 22:25:19

お礼

すみません。
SqlServer2008 ExpressEdtionを入れて勉強しています;;
>TCP/IPを有効にして固定ポートを割り当てる必要があると思いますが
TCP/IPを有効にして固定ポートを割り当てました。
>#1です。ちょっと時間があったのでmiddlegenで試してみました。
態々試していただいてありがとうございます!
>確かに日本語は「カテゴリ」になっていますが、これは「カタログ」の間違いですね。
そうなんですね。SqlServerもmiddlegenもあまり分かってなくて。。。

middlegenですが、
DBURI ->jdbc:sqlserver://localhost:1433;databaseName=db1
スキーマ ->dbo
カタログ ->tb1
でうまくいきました!

この部分で5日ぐらい悩んでいましたので、接続することができてよかったです。
どうもありがとうございました!

投稿日時 - 2009-03-08 09:16:59

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

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

回答(2)

ANo.1

JDBCは1.2ですか?

>スキーマ ->空白です
>カテゴリ ->空白です
Middlegenを使ったことはありませんが、ここは「カタログ」ではないですか?通常接続に失敗している人はここを指定しないケースが多いみたいですね。
スキーマ:dbo
カタログ:db1

手元に試せる環境がないので、見当違いならばごめんなさい。

投稿日時 - 2009-03-07 20:52:59