• ベストアンサー

JavaからSQLサーバのViewにアクセスする方法

SQLServer2000で、Viewを使用する方法が分かりません。 ドライバは、JDBCを使用しています。 Connection con = DriverManager.getConnection(jdbc:microsoft:sqlserver://127.0.0.1;DatabaseName=TESTDB, ユーザID, パスワード); DBへの接続方法は上記の方法で接続できましたが、 ・JavaからViewの呼出し方法 ・呼び出したSelect結果の取得方法 この2点について、調査方法や、コーディング方法を知っている方がいれば、教えていただけませんか。

  • Java
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • love-less
  • ベストアンサー率60% (9/15)
回答No.2

java.sqlパッケージにいろいろはいってるから そこらへんをお勉強するとよいかと コネクションクラス とか sql発行するクラスとか とか 結果セットクラス とか JDBCでしらべればいくらでもぐぐれるぞー

i_yuari
質問者

お礼

ありがとうございます。 「SQLサーバ、View」でぐぐってたのですが あまり参考にならず、困っていたんです。 JDBCでぐぐったら結構参考になりそうなHPが ありましたので勉強します!!

その他の回答 (1)

  • vivlet
  • ベストアンサー率36% (24/66)
回答No.1

table と View のアクセス方法は同じです。 Javaデータアクセスの基礎から勉強してください。

参考URL:
http://www.atmarkit.co.jp/fjava/rensai/jdbc02/jdbc02.html
i_yuari
質問者

お礼

ありがとうございます。 SQLサーバのクエリアナライザを使用して、 talbeと同じ方法でSELECT出来ました。 まだまだ勉強不足ですね。

関連するQ&A

  • JavaサーブレットからSQL Server の接続ができません。

    環境は、 OS:win XP Webサーバ:tomcat5.5 統合開発環境:eclipse3.2 DB:SQL server 2005 です。 SQLserverのJDBCドライバ(sqljdbc.jsp)を、%CATALINA_HOME%common/libに配置し、DB接続用のサーブレットを作成、デバッグを行いましたが、 com.microsoft.sqlserver.jdbc.SQLServerException: TDS ログイン前応答が不完全です。対象サーバーは SQL Server 2000 以降である必要があります。 とのエラーが表示され接続できませんでした。 またデバッグを行ったところ、 Class.forName(driver); までは通りますが、次の行の con = DriverManager.getConnection(url,user,passwd); でエラーになるようです。次のステップは、データベース切断の public synchronized void close() throws Exception { 行に飛んでしまいます。 どなたかお気づきの方がおられればご回答願います。 ソースは以下の通りです。 //////////////////////////////////////////// package report.pack; import java.sql.*; public class DatabaseAccess { private String driver; private String url; private String user; private String passwd; private Connection con; private Statement stmt; private ResultSet rs; /** * コンストラクタ */ public DatabaseAccess() { driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; url = "jdbc:sqlserver://localhost:8080;databaseName=testdb;"; user = ""; passwd = ""; } /** * データベースに接続 */ public synchronized void open() throws Exception { // ドライバクラスをロード Class.forName(driver); // データベースへ接続 con = DriverManager.getConnection(url,user,passwd); // ステートメントオブジェクトを生成 stmt = con.createStatement(); } /** * データベースから切断 */ public synchronized void close() throws Exception { if (stmt!=null) { stmt.close(); } if (con!=null) { con.close(); } } /** * クエリーを実行(検索) */ public ResultSet executeQuery(String sql) throws Exception { return stmt.executeQuery(sql); } /** * クエリーを実行(新規、更新、削除) */ public int executeUpdate(String sql) throws Exception { return stmt.executeUpdate(sql); } } //////////////////////////////////////

  • JavaからMDB接続について

    下記PGについて ------------------------------------ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ClassDatabase { public static Connection connection; public static Statement statement; public static ResultSet resultSet; public void main(String DBNM) { try { // Load the UCanAccess JDBC driver Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); // Define the database URL String url = "jdbc:ucanaccess://" + DBNM + ";"; // Establish the connection DB_CONNECT(url); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static void DB_CONNECT(String url) { try { connection = DriverManager.getConnection(url); } catch (SQLException e) { e.printStackTrace(); } finally { // Close the connection when you're done if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } ------------------------------------ connection = DriverManager.getConnection(url);の所ですが応答が帰って来ないほど遅いのですがどうにかなりますでしょうか? MDBと接続はできています。(整合性チェック等を行っているようです、させない方法等ありますでしょうか?)

    • ベストアンサー
    • Java
  • java データベース接続

    javaの勉強していまして、質問があります。よろしくお願いします。 javaでデータベースの接続ができなくて迷っております。ずっとネットで調べてもダメでした。 ネットで調べたとおりにやっても、 例外発生:java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver このようなエラーがでます。 eclipseを使ってます。windows7 練習にアクセスにつなごうと思ってます。 事前にデータソース(ODBC)の登録はしました。 ドライバーとかインストールするものなのでしょうか? package sample; import java.sql.Connection; import java.sql.DriverManager; public class Hello { public static void main(String args[]) { try { //JDBCドライバのロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //各設定 String url = "jdbc:odbc:SampleDB030"; String user = ""; String pass = ""; //データベースに接続 Connection con = DriverManager.getConnection(url,user,pass); System.out.println("接続成功"); //データベースを切断 con.close(); } catch (Exception e) { System.out.println("例外発生:" + e ); } } }

    • ベストアンサー
    • Java
  • javaからAccessをアクセスするときにファイルを直接指定できないのですか?

    JavaでMicrosoft Accessにアクセスするときに以下のプログラムでアクセスしました。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:DBs"); このプログラムを作成する前にODBC データソース アドミニストレータでデータベースの登録を行いました。 データベース名はデータソース名に拡張子を付けた名前にしました。 ODBC データソース アドミニストレータの登録を行わずにプログラムの中にファイルの場所を記述してMicrosoft Accessにアクセスすることはできないのでしょうか?

  • 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"を開けません。ログインに失敗しました。」 というエラーが出ます。。。 どなたかご教示よろしくお願いします

  • Androidから外部DBサーバーへ接続(MySQL)

    現在、Androidのアプリで、ボタンを押下したらWindows上のMySQLサーバーに接続し、データを取得しようとしています。 しかし、どうしてもDBサーバーに接続できません。 Exceptionに飛んでしまいます。 どなたかご教授ください><; 【環境】 ・Windows Vista Home Premium ・eclipse 3.5上でAndroidをエミュレーション ・MySQL 5.1を使用 ・JDBCドライバは5.1を使用  プロジェクトの構成パスにJDBCを追加 【ソースコード(接続部分のみ)】 import java.sql.*; (中略) public void onClick(Veiw v) {   try {     Class.forName("com.mysql.jdbc.Driver);     Connection conn = DriverManager.getConnection("jdbc:mysql://localhost; DatabaseName=DBName;", "user", "pass");     Statement stmt = conn.createStatement();     (中略)   } catch (Exception ex) {     // エラー   } }

  • getConnection( )メソッドの戻り値

    御世話になります。 下記のプログラムで「型 Connectionの結果を戻す必要があります」 とエラーが出てしまうのですが、原因が分からず困っております。 過去ログをみても分からなかった為、ご教示いただけます様 宜しく御願い致します。 package info.aaaa; import java.sql.Connection; import java.sql.DriverManager; public class DBManager{ public static Connection getConnection(){ try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url = "jdbc:mysql://localhost/aaaa?useUnicode=true&characterEncoding=SJIS"; Connection con = DriverManager.getConnection(url,"cccc","vvvv"); return con; } catch(Exception e){ } } public static void main(String args[]) throws Exception{ Connection con = getConnection(); System.out.println("con=" + con); con.close(); } }

    • ベストアンサー
    • Java
  • javaでMySQLのデータ検索

    以下のサイトでただいま勉強しています。環境はMySQL4.0.15です。 http://msugai.fc2web.com/java/JDBC/mmMySQL.html ●JDBC ソースコードのところでつまづいています。 javaの実行 C:\java>java JdbcSample Exception: com.mysql.jdbc.Driver java.lang.ClassNotFoundException: com.mysql.jdbc.Driver  … // 1.JDBC Driver の登録 // 2.データベースへの接続 のあたりでエラーが発生している状態です。データベースの接続はAccess環境なら『コントロールパネル』→『管理ツール』→『データソース(ODBC)』で使用するデータベースを設定します。MySQLもこのあたりの設定が必要なんでしょうか? ●Accessの場合 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection Con = DriverManager.getConnection("jdbc:odbc:設定したデータベース名"); アドバイスお願いします。

  • Javaでデータベースにアクセス

    するときに以下のように Class.forName (driver); をする必要があるのですが これの意味を教えてください なぜこれが必要なのでしょうか? ・・・・・・・・・・・・・ // JDBCドライバの登録 String driver = "org.postgresql.Driver"; // データベースの指定 String url = "jdbc:postgresql://fedorasrv.com/test"; //サーバ名またはIPアドレス+データベース名 String user = "fedora"; //データベース作成ユーザ名 String password = "XXXXXXXX"; //データベース作成ユーザパスワード Class.forName (driver); // データベースとの接続 Connection con = DriverManager.getConnection(url, user, password); ・・・・・・・・・・・・・・

    • ベストアンサー
    • Java
  • TomcatとPostgreSqlの接続について

    Tomcat4.0.4とApache1.3.26を使用しDBはPostgreSQLをつかっているのですが、DB接続がうまくいきません。 接続の際の記述は以下の通りです public void init(ServletConfig conf) throws ServletException { try{ Class.forName("org.postgresql.Driver"); String url = "jdbc:postgresql://localhost:8080:5432/test"; String user = "nakayama"; String pwd = "noah"; con = DriverManager.getConnection(url,user,pwd); }catch(Exception e){ err = err + "DataBase Connection err = " +e+"<br>"; } } これで実行すると、以下のエラーが出ます。 DataBase Connection err = Something unusual has occured to cause the driver to fail. Please report this exception: Exception: java.lang.NullPointerException Stack Trace: java.lang.NullPointerException at org.postgresql.Connection.openConnection(Connection.java:155) at org.postgresql.Driver.connect(Driver.java:149) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at toroku2.init(toroku2.java:24) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655) at ・・・・・ どうすれば解決できるのでしょうか? 教えてくださいm(__)m

    • ベストアンサー
    • Java