2007年5月25日金曜日

bcpコマンドによるエクスポートとインポート

目的
SQLServerにbcpコマンドにより、データをインポート、エクスポートする。



エクスポート


bcp DataBase.dbo.Test out C:TestData.txt -T -c -S .\SQLExpress


説明
ローカルのSQLServer・Testテーブルから、
CドライブにTestData.txtをエクスポート



インポート



bcp DataBase.dbo.Test in C:TestData.txt -T -c -S .\SQLExpress




インポートするデータ



140030 154006 2006-09-25
各データは、タブ区切りでOK!


注意)
1.datetime型のデータには、2006-09-25 形式で記入
2006-9-25 とか 2006/09/25 ダメ!!エラーになる
『キャストした文字コードが正しくありません。』

2.money型には、NULLの入力はダメ!!0などに置き換えること。
BCP データファイル中で予期しない EOF が検出されました。

オプションの説明
-T:ユーザ、パスワード指定しなくて、よくなるらしい。
-S server_name\instance_name:接続先のサーバ()
-c:ASCIIモードでデータを転送

-q:データベース名などにスペースや引用符が含まれる場合、使用する。
-f:フォーマットを指定する

bcpコマンドの詳細は、以下を参照

bcpコマンドの使い方(formatを使用)


bcpコマンドのオプション1


bcpコマンドのオプション2

2007年5月23日水曜日

SQL Sever を使おう

【目的】
Excelの「外部データ取り込み」をSQLServerのテーブルから行う。

OS:Windows2000 Service Pack 4
SLQ Server:SLQ Server2005 ExpressEdition


【準備】
SLQ Server2005 ExpressEditionを利用するために、必要なもの。

・Windows Installer 3.1 インストール後、再起動。
・.NET Framework 2.0、SQL Server Express
(プログラムの追加と削除から、すでにインストールされているか確認、なけらば、インストールする)
・Microsoft .NET Framework 2.0
(32、または、64プラットフォームがある。使用するPCにあわせる)
・SQL Server Express

詳細は、下記アドレスを参照。
http://www.microsoft.com/downloads/details


【ODBCの設定】
1.[管理ツール]-[データソース(ODBC)]を開く。
2.[ユーザDSNタブ]から、[追加ボタン]を押下。
3.任意の[データソース名]、[サーバ]を選択する。
[サーバ]:サーバ名\SQLEXPRESS
注:ローカルサーバの場合、自身のPC名(コマンドプロンプト:「net name」でPC名わかる。)
4.接続テストで、問題なけらば、OK!!


【管理ツール】
これがあると、ビジュアル的にSQLServerの設定・操作が行える。
・.NET Framework 2.0(既にインストール済み)
・MSXML Parser 6.0 (既にインストール済み)
・SSMSE CTP をインストール

管理ツールの使い方
1.[スタートアップ]-[プログラム]-[MicrosoftSQLServer 2005]-[SQL Server Management Studio Express]をクリック。
2.[SQL Server Management Studio Express]が起動したら、サーバ名と認証を選択し、[接続ボタン]をクリック。
サーバ名:サーバ名\SQLEXPRESS ・・・(【ODBCの設定】を参照。)
認証:Windows認証

3.接続に成功したら、[データベース]上で、右クリックし、[新しいデータベース]を作成。
4.[テーブル]上で、右クリックし、[新しいテーブル]を作成。(デフォルトスキーマは、dbo)
5.作成したテーブルにデータを入れる。


番外編
【SQLSeverへログイン】
1.コマンドプロンプトを立ち上げる。
2.[スタートアップ]-[プログラム]-[MicrosoftSQLServer 2005]-[構成]-[SQLServerConfiguration Manager]をクリック。
3.[SQLSeverConfiguration Manager]が起動したら、[SQL Sever 2005 のサービス]から、SQLServer(SQLEXPRESS)を起動する。
4.「sqlcmd -S .\SQLExpress」を入力。SQLサーバへログイン。






Transaction-SQL
操作を実行する場合、

例)TestDataBase内、Testテーブルを参照する場合、

1>use TestDataBase use 使用するDataBaseを指定
2>select * form Test
3>go go 命令を実行する


2007年5月18日金曜日

Jboss起動時、Error

動作環境

OS:Windows2000

Jboss:jboss-4.0.5

エラー内容

java.rmi.server.ExportException: Port already in use: 1098.



原因

Jbossで使用するポートが他のサービスと被るため。結局、Oracleがこのポートを使用していたようだ。



解決方法

  1. nestat -ano コマンドを入力、全てのポートと使用中のサービスが表示される。
  2. 被るプロダクトIDを確認する。(Windows2000では、 -oオプションは、ない。)
  3. 被るプロダクトIDのサービスを停止する。
  4. Jbossを起動する。

または、

  1. Jbossの使用するポートを変更する。
  2. [JBOSS_HOME]\server\default\confフォルダ内にあるjboss-service.xmlを開く。
  3. jboss-service.xml内、ポート番号を変更。 (1098→1122 )
  4. Jbossを起動する。