MSDE2000をJavaの開発環境に利用しようというフトドキな企画です。

入手

  1. MSDE2000ホームページ から、JPN_MSDE2000A.exe をダウンロードする。
    • JPN_MSDE2000A.exeには、MS-SQLServer2000SP3が適用済み
    • MSDE自習書「MSDEを使おう」がある。
      • このメモの内容の大部分はMSDE自習書からの抜き書き
      • 微妙な間違えが多い

インストール

  1. JPN_MSDE2000A.exeをダブルクリックすると、C:\MSDERelA に解凍される。
  2. コマンドプロンプトで、以下のようにsetup.exeを起動します
    C:\MSDERelA>setup.exe SECURITYMODEL=SQL SAPWD=password
    • SECURITYMODEL=SQL : Windows認証とSQL認証の両方を使います。SQLServerの管理者[sa]を有効にするため。
      • Windows認証 : Windowsにログインしているユーザは認証されているとする
      • SQL認証 : MS-SQLServer独自の認証
      • どのような権限を認可するかは別の話
    • SAPWD=password : [sa]ユーザのパスワード
  3. しばらくすると、再起動を要求される
  4. 再起動後に [コントロールパネル]-[管理ツール]-[サービス]SQLSERVICE が 起動しているのを確認できたらインストール終了

データベースの作成

  1. osqlでログイン
    osql.exe -U sa -P password
    起動オプション説明
    -UログインID
    -Pパスワード
    -S接続サーバ名(省略時はローカルサーバ)
    -cコマンド終端文字。規定値はgo
    -i入力ファイル(バッチ・ストアドプロシージャ)
    -O出力ファイル(-iで指定したバッチ・ストアドプロシージャーの結果)
     
    コマンド説明
    GOステートメントの実行
    RESETステートメントの破棄
    EDエディタの呼び出し
    !!DOSコマンドの実行
    QUIT,EXIT()osqlの終了
    Ctrl+cクエリの終了(osqlは終了しない)
  2. データベース作成
    CREATE DATABASE Sandbox
    ON(
      NAME = SandBox_dat,
      FILENAME = 'C:\MSDE2000\Data\SandBoxDB.mdf',
      SIZE = 10MB,
      MAXSIZE = UNLIMITED,
      FILEGROWTH = 5MB
    )
    LOG ON (
      NAME = SandBox_log,
      FILENAME = 'C:\MSDE2000\Data\SandBoxDB.ldf',
      SIZE = 10MB,
      MAXSIZE = UNLIMITED,
      FILEGROWTH = 5MB
    )
    GO
    1. ON=データファイルの設定
    2. LOG ON=ログ(トランザクション)ファイルの設定
    3. NAME=ファイル論理名
    4. FILENAME=ファイル物理名
    5. SIZE=初期容量
    6. MAXSIZE=最大容量
    7. FILEROWTH=ファイルサイズ増加幅
  3. データベースプロパティ変更
    ALTER DATABASE Sandbox
    MODIFY FILE(
      NAME = SandBox_dat,
      SIZE = 20MB
    )
    GO
  4. データベースの削除
    DROP DATABASE Sandbox
    GO

テーブルの作成

  1. データベースの選択
    USE SandBox
    GO
  2. テーブルの作成(実験パラメータと実験結果)
    CREATE TABLE ExamParam (
      ExamNo      int NOT NULL PRIMARY KEY,
      RecDate     datetime NOT NULL,
      Param1      int,
      Param2      int,
      Param3      int
    )
    CREATE TABLE ExamResult (
      ResultNo    int NOT NULL PRIMARY KEY,
      ExamNo      int NOT NULL,
      RecDate     datetime NOT NULL,
      Result1     int,
      Result2     int,
      Result3     int
    )
    GO
  3. データの作成(実験パラメータ)
    INSERT INTO ExamParam VALUES (1,'2004/11/11 11:11',1,11,111)
    INSERT INTO ExamParam VALUES (2,'2004/11/11 11:12',2,22,222)
    INSERT INTO ExamParam VALUES (3,'2004/11/11 11:13',3,33,333)
    INSERT INTO ExamParam VALUES (4,'2004/11/11 11:14',4,44,444)
    INSERT INTO ExamParam VALUES (5,'2004/11/11 11:15',5,55,555)
    GO
  4. テーブルの削除
    DROP TABLE ExamParam
    DROP TABLE ExamResult
    GO

ユーザの管理

  1. [sa]ユーザでログインできない場合は、SQLServerのモードがWindows認証モードになっているかもしれない。
    現象:
    \>osql -U sa -P password
    ユーザー 'sa' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。
     
    対処法:
    regedit.exeで、
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
    を1(Windows認証)から2(混合モード認証)に変更する
  2. ユーザの作成
    1. ログインの作成
      sp_addlogin jdbc_user,password,SandBox
      GO
       
      jdbc_user = ユーザ名
      password  = パスワード
      SandBox   = デフォルトデータベース
    2. データベースへの登録
      USE SandBox
      GO <--USEの後のGOは重要
      sp_grantdbaccess jdbc_user
      GO
    3. データベースへの権限設定
      USE SandBox
      GO
      sp_addrolemember db_datareader,jdbc_user
      GO
      sp_addrolemember db_datawriter,jdbc_user
      GO
       
      権限一覧(強い順に)
      public db_owner db_accessadmin db_securityadmin db_ddladmin(テーブル作成・削除)
      db_backupoperator db_datareader db_datawriter
      db_denydatareader(読み込み拒否) db_denydatawriter(書き込み拒否)
    4. 権限の確認
      USE SandBox
      GO
      sp_helprolemember
      GO
  3. パスワードの変更
    sp_password @old = 'password', @new = 'newpwd',  @loginame ='sa'
    GO
  4. ユーザの削除
    1. データベースからの削除
      sp_revokedbaccess ユーザ名
      GO
    2. ログインの削除
      sp_droplogin ユーザ名
      GO

DDLファイルの実行

>osql.exe -U sa -P -iIn.sql -oOut.txt

ODBC接続の作成

  1. [コントロールパネル]-[管理ツール]-[データソース(ODBC)] をダブルクリック
    MSDE_ODBC01.png
  2. SQLサーバ(MS-SQLServer2000)を選択する
    MSDE_ODBC02.png
  3. 適当に
    MSDE_ODBC03.png
  4. 適当に
    MSDE_ODBC04.png
  5. 適当に
    MSDE_ODBC05.png
  6. 適当に
    MSDE_ODBC06.png
  7. 接続テストでつながったようです
    MSDE_ODBC07.png
     
    MSDE_ODBC08.png

J2EEでJDBC-ODBCドライバを使用する時の設定

JDBC-ODBCドライバの使用法

JDBC-Type4ドライバの使用法

  1. 配布元
    1. Microsoft SQL Server 2000 Driver for JDBC
    2. Microsoft SQL Server 2000 Driver for JDBC Service Pack 2
      1. 64bit対応
      2. メッセージの文字化けに対処
  2. MSDEの設定
    1. TCP/IP経由の接続を受け付けるようにする (DOS窓から svrnetcn.exe )
    2. 必要があればクライアント側の設定をする (DOS窓から cliconfg.exe )
  3. Classpath
    SET MSJDBC=C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib
    SET CLASSPATH=%CLASSPATH%;%MSJDBC%\msbase.jar;%MSJDBC%\mssqlserver.jar;%MSJDBC%\msutil.jar
  4. サンプルプログラム
    1. プログラム:
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      Connection conn 
        = DriverManager.getConnection(
           "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=SandBox;SelectMethod=cursor",
           "jdbc_user",
           "password");
      
                                ((以下JDBC-ODBCのときと同じ))
    2. SelectMethod?=cursor がミソらしい
      http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B313181

Computer


添付ファイル: fileMSDE_ODBC02.png 2557件 [詳細] fileMSDE_ODBC09.png 2452件 [詳細] fileMSDE_ODBC04.png 2428件 [詳細] fileMSDE_ODBC08.png 2405件 [詳細] fileMSDE_ODBC10.png 2479件 [詳細] fileMSDE_ODBC07.png 2417件 [詳細] fileMSDE_ODBC11.png 2443件 [詳細] fileMSDE_ODBC01.png 2545件 [詳細] fileMSDE_ODBC06.png 2506件 [詳細] fileMSDE_ODBC03.png 2543件 [詳細] fileMSDE_ODBC05.png 2436件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2006-02-22 (水) 23:45:47 (6882d)
Short-URL: http://at-sushi.com/pukiwiki/index.php?cmd=s&k=1188c1f871
ISBN10
ISBN13
9784061426061