こんにちわ。Java初心者です。
JavaプログラムでMSSQLに接続して、DBを参照するには、
どのようなソースを書けばいいのでしょうか?
ODBCドライバなども必要なのでしょうか?
VBだと、DaraEmvironmentがあって簡単だったのに。。。

初歩的な質問ですみません。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

mashiro78さん、こんばんは。


「JDBC-ODBC ブリッジドライバ」を利用するときのJDBC-URLは、「jdbc:odbc:データソース名」となります。
「データソース名」とは、そのマシンからODBCでデータベース接続する際に、あらかじめ設定するものです(プリンタ・デバイスを利用する際にプリンタの設定をしますよね。あんな感じです)。
設定する個所は、OSによってまちまちで、Win2000であれば、コンパネ-管理ツール-データソース(ODBC)で設定します(他のWinOSは近くにないのでわかりません。コンパネをしらみつぶしに探ればあるとは思いますが)。
で、その設定ツールでは、「SQLサーバー名」と「データベース名」の組に「データソース名」を割り当てるはずです。
割り当てが終われば-仮に今回、データソース名にabcと割り当てたら、JDBC-URLは「jdbc:odbc:abc」となります。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございました。
アドバイス通り試してみたら、うまくいきました。
とてもわかりやすく、親切なアドバイスに感謝しています。
またご縁がありましたらお願いします。

お礼日時:2001/11/01 12:42

mashiro78さん、こんにちは。


Javaから、データベースに接続するには、JDBCというものを利用します。これは、ODBCのJava版と思ってください。
これを利用するには、そのDBベンダーあるいは他のベンダー、有志からJDBCドライバーを入手しなければなりません。
MSが、Java用に提供しているかどうか判りませんが、もしあればそれを利用します。なければ、ODBCを利用します。
Sun提供のJDK(SDK)またはJREなら、「JDBC-ODBC ブリッジドライバ」というJDBCドライバの1種があり、Javaのプログラムから、ブリッジドライバ->ODBCと経由して、データベースにアクセスできます。
ブリッジドライバにしろ、ベンダーネイティブのドライバにしろ、JDBCが利用できれば、どのDBが相手でも、基本的に標準Javaにあるjava.sqlパッケージ、javax.sqlパッケージのクラスを使ってプログラミングができます。

コーディング方法は、以下のURLが参考になると思います。
VBとプログラミングスタイルが異なるので、大変かと思いますが、頑張ってください。
また、参考文献で判らなければ、補足してください。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jd …

この回答への補足

わかりやすい解答、ありがとうございました。
ひとつわからなかったのが、DBにコネクションする際に、
「jdbc:odbc:」の後にデータベースファイルを指定するのだと
思いますが、ネットワーク経由でアクセスするときには
どのように指定したらいいのでしょうか?
ドメイン名:domain
サーバ名:server
データベース名:sql

補足日時:2001/10/31 14:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qjava初歩の初歩 コンパイルエラー

これからjavaを学ぶ初心者です。
本やネットを参考にjavacはできましたが、実行がでません。
Exception in main"java.lang.NoClassDefFondError: HelloWorld
とエラーが出ます。
この手の質問は多いようですが、自分がどの解決策に当てはまるのか分かりません。
教えてください。

ファイル名:HelloWorld.java
環境(?):WinXP Java2SDK1.4.1使用
環境変数の設定:PATH・ClassPATHともに→末尾に;C:\j2sdk1.4.1_07\binと入力
プログラム内容:
class Print{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

Aベストアンサー

試しに、
CLASSPATHを.としてみてください。

Qjava初歩の初歩 HelloWorld実行エラー

Exception in thread main"java.lang.NoClassDefFondError: HelloWorld
とエラーが出ます。
実は先日同じ内容で、こちらで解決していただきました。
そのときの解決策は、通常のPATHの設定に加え、CLASSPATHに.(ドット)と入力するというものでした。
ですが、その後リカバリをかけたところ、同じ設定をしてもエラーが出てしまいます。
javacは出来ています。
解決策がありましたら教えてください。

ファイル名:HelloWorld.java
環境(?):WinXP Java2SDK1.4.1使用(リカバリ後再インストール)
環境変数の設定:PATH→;C:\j2sdk1.4.1_07\binと入力
プログラム内容:
class HelloJava{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

Aベストアンサー

じゃあ、CLASSPATH 環境変数は削除してしまいましょう。どっかのプログラムが勝手に CLASSPATH を設定しているみたいですが、その設定が却って邪魔になっています。(でも一応削除する前の控えは取っておいてください)

あと、これはユーザーアカウントがらみの話でもありますが、Windows XP の環境変数の設定には全ユーザー共通の環境変数と自分だけの環境変数があります。CLASSPATH が設定されていないか両方とも確認してみてください。

QJavaソースコードをコンパイルするJavaプログラム

タイトルの通りですが、Javaソースコードをコンパイルし、実行するJavaプログラムを作りたいのですが、なにか有効な方法はありますでしょうか。
Runtime.getRuntime().exec( "javac Test.java" );
のようにすると、エラーになります。

なにか良い方法をご存知でしたら、よろしくお願いします。

Aベストアンサー

Javaのソースコードをコンパイルするのでしたら、Runtime.getRuntime().exec()を使ってもいいですけど、com.sun.tools.javacを使っては? これは、JDKのjavacコマンドが実行されるときに内部から呼び出されるコンパイルクラスです。

// 以下をimport
// import com.sun.tools.javac.*;

Main main = new Main();
String[] param = {"./Sample.java"};
main.compile(param);

例えばこんな具合にしてcom.sun.tools.javacのMainインスタンスを作成し、ファイルパスの配列を引数にしてcompileを呼び出してやります。わざわざexecで外部のタスクとして起動するより、こちらのほうがスマートかと。

QJDBC:ODBCでaccess db にデータをInsertするとき、構文エラーがでました

insert into InMoneys(Source,Money) values('1',99)
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] INSERT INTO ステートメントの構文エラーです。

Aベストアンサー

access ってmoney型があった気がする。。。
列名moneyの名前を変更するか
insert into InMoneys(Source,[Money]) values('1',99)
したらどうでしょうか。

QODBCを使ったMysqlをjavaで操作する

ODBCを用いたMySQLをJavaで操作する。

ODBCというツールを用いてMysqlをJavaScriptで操作することに成功しました。
操作といっても、表示と入れ込む操作だけなのですが…
(参照:http://tsuttayo.jpn.org/mysql/odbc/jscript.php)

繋げることができたので検索もできるんじゃないかと思い調べていたのですが、
予想以上にODBCを用いたJavaScriptが無く、全体像すら分りません。

最初はJSで繋げるつもりでしたが…やはり蒸すが恣意点がありますので
もしJSではなくJavaならわかるという方がいましたら
Javaでもとても助かるので助言下さると幸いです。
(ODBCとJavaの接続の問題はないと思われます。←曖昧ですみません。)

例えば下記のようなHTMLも用いた画面で検索をする場合
どんな方法があるでしょうか??
――――――――
<html>
<head>
<title>会員情報検索画面</title>
<body>
<br>
<p align="center">
<font size="5">
<i>会員検索</i>
</font>
<br>
<br>
<font size=3>
氏名: <input type="text" name="Ms-txt_1"/>
<br><br>
No. : <input type="text" name="Ms-txt_2">
<br>
<br><br>

<SCRIPT type="text/javascript" language="JavaScript">
<!--
function jump(url) { this.location.href = url ;
}
//-->
</SCRIPT>
</HEAD>

<BODY>
<FORM>
<INPUT TYPE=button name="Ms-btn_1" VALUE="検索" onClick="jump('○○○○html')">
</body>
</FORM>

<input type="reset" name="Ms-btn_2" value="取り消し" />
<br><br>
<a href="○○○html" name="Ms-link_1">戻る</a>
</font>
</p>
</body>
</head>
―――――――――
表示は検索ボタンを押したら下の画像の様に別ページに飛んでほしいのですが…
(HTMLは入力数の上限に達してしまったので載せることができませんでした。)

もし指導していただける方がいらっしゃいましたら当方初心者ではありますがよろしくお願いします。

ODBCを用いたMySQLをJavaで操作する。

ODBCというツールを用いてMysqlをJavaScriptで操作することに成功しました。
操作といっても、表示と入れ込む操作だけなのですが…
(参照:http://tsuttayo.jpn.org/mysql/odbc/jscript.php)

繋げることができたので検索もできるんじゃないかと思い調べていたのですが、
予想以上にODBCを用いたJavaScriptが無く、全体像すら分りません。

最初はJSで繋げるつもりでしたが…やはり蒸すが恣意点がありますので
もしJSではなくJavaならわかるという方がいましたら
J...続きを読む

Aベストアンサー

>クライアントサイドの処理だと思います。
売り物を作るのに「思います」はマズイでしょ。
とにかく、クライアント側だと、ブラウザのセキュリティレベルを
下げないと、アクセス用オブジェクトが生成できません。顧客が、
その辺の事情(下手するとウィルスに感染する危険)を理解し、
細かいセキュリティ設定ができるという前提での製品になります。

普通に考えると、サーバサイドで、JavaかJSPあたりでDBを操作し、
その結果をクライアントに返すというWebアプリケーション形式を
想像します。もっとも、このモデルは全くの想定外だと思いますが…

間をとって、IISを使ったASP(言語はJavaScript)モデルというのは?
ASPのカテゴリで色々ありますよ。但し、Javaは全く出てきませんが。

もし、DBが完全にローカルインストールであるならHTAという選択肢も
あります。これは一般アプリケーションで、やはりJavaとは縁が
ありません。但し、セキュリティ設定云々からは解放されます。

とりあえず、ターゲットのDBを何処に置くつもりなのか考えましょう。
サーバに置く→JavaのWebアプリケーションかASP
ローカルに置く→Javaの一般アプリケーションかHTA
この選択から始めてください。

尚、「JavaScriptでODBC接続ができた」ことはJavaアプリケーションの
開発には殆ど役にたちません。それほど両者には違いがあるのです。
開発プラットホームについて、十分検討すべきです。

>クライアントサイドの処理だと思います。
売り物を作るのに「思います」はマズイでしょ。
とにかく、クライアント側だと、ブラウザのセキュリティレベルを
下げないと、アクセス用オブジェクトが生成できません。顧客が、
その辺の事情(下手するとウィルスに感染する危険)を理解し、
細かいセキュリティ設定ができるという前提での製品になります。

普通に考えると、サーバサイドで、JavaかJSPあたりでDBを操作し、
その結果をクライアントに返すというWebアプリケーション形式を
想像します。もっと...続きを読む


このカテゴリの人気Q&Aランキング

おすすめ情報