SQLの窓

2009年10月20日


VBScript : ADO : 純正接続 : SQLExpress(SQLServer) 接続と通常処理

ODBC では無く Microsoft OLE DB Provider for SQL Server を使用しています

SQLExpress にインポートするデータ(MDB)

' ***********************************************************
' SQLExpress / OLE DB / 純正接続
' ADO : 読み込みのみ
' FileSystemObject : CSV出力
' ***********************************************************
strTarget = "NIGHT_TCP"		' 別名
strDB = "lightbox"
strUser = "sa"
strPass = "passwordpassword"

' ***********************************************************
' ADO + FileSystemObject
' ***********************************************************
Set Cn = CreateObject( "ADODB.Connection" )
Set Rs = CreateObject( "ADODB.Recordset" )
Set Fso = CreateObject( "Scripting.FileSystemObject" )

' **********************************************************
' 接続文字列
' **********************************************************
ConnectionString = _
	"Provider=SQLOLEDB;" & _
	"Data Source=" & strTarget & ";" & _
	"Initial Catalog=" & strDB & ";" & _
	"User ID=" & strUser & ";" & _
	"Password=" & strPass & ";"

' **********************************************************
' 接続
' クライアントカーソル(3)を使う事が推奨されます
' **********************************************************
Cn.CursorLocation = 3
on error resume next
Cn.Open ConnectionString
if Err.Number <> 0 then
	WScript.Echo Err.Description
	Wscript.Quit
end if
on error goto 0

Query = "select * from [社員マスタ]"

' **********************************************************
' レコードセット
' オブジェクト更新時はレコード単位の共有的ロック(3)を
' 使用します( デフォルトでは更新できません )
' **********************************************************
'Rs.LockType = 3
on error resume next
Rs.Open Query, Cn
if Err.Number <> 0 then
	Cn.Close
	Wscript.Echo Err.Description
	Wscript.Quit
end if
on error goto 0

' **********************************************************
' 出力ファイルオープン
' **********************************************************
Set Csv = Fso.CreateTextFile( "社員マスタ.csv", True )

' **********************************************************
' タイトル出力
' **********************************************************
Buffer = ""
For i = 0 to Rs.Fields.Count - 1
	if Buffer <> "" then
		Buffer = Buffer & ","
	end if
	Buffer = Buffer & Rs.Fields(i).Name
Next
Csv.WriteLine Buffer

' **********************************************************
' データ出力
' **********************************************************
Do While not Rs.EOF
	Buffer = ""
	For i = 0 to Rs.Fields.Count - 1
		if Buffer <> "" then
			Buffer = Buffer & ","
		end if
		Buffer = Buffer & Rs.Fields(i).Value
	Next
	Csv.WriteLine Buffer
	Rs.MoveNext
Loop

' **********************************************************
' ファイルクローズ
' **********************************************************
Csv.Close
' **********************************************************
' レコードセットクローズ
' **********************************************************
Rs.Close
' **********************************************************
' 接続解除
' **********************************************************
Cn.Close

関連する記事

ADO 関数 : 接続/読み込み/接続解除
SQLExpress 2005 の接続設定
VBScript : ADO : ODBC接続 : SQLExpress(SQLServer) 接続と通常処理( 更新は SQL で行う )



posted by lightbox at 2009-10-20 08:36 | SQLExpress | このブログの読者になる | 更新情報をチェックする

2009年10月15日


SQLServer : sa が有効かどうかを確認する SQL

.\SQLEXPRESS は SQLExpress の通常のデフォルト

DB がインストールされている PC で
sqlcmd -E -S .\SQLEXPRESS でログインした後、以下を実行します

select is_disabled from sys.server_principals where name= 'sa'
go

有効にするには、

ALTER LOGIN sa ENABLE
GO

を実行し、パスワードは

ALTER LOGIN sa WITH PASSWORD = 'パスワード文字列'
GO

で設定します


posted by lightbox at 2009-10-15 18:19 | SQLExpress | このブログの読者になる | 更新情報をチェックする

2009年10月11日


Seesaa : リンクコンテンツを好きな場所に表示する

ここではリンクコンテンツの HTML 編集で、DIV でリンク全体で囲って ID を付けています。

HTML 上のオブジェクトは、他の DIV 等に appendChild してやると、その場所へ移動します。
( 元の場所には無くなって、実体のみが移動 )

これを利用して、ページの右の空いている場所に position:absolute で、固定位置に div を置いて、ページの幅がその内容を表示するのに必要なだけある場合移動させます。

こうしておくと、自サイトのフレームから参照する場合は移動されません。
<div id="java_link">
<div class="btitle" style='widthx:685px;'><% content.title %></div>
<% content.header -%>
<div class="side">
<table>
<% loop:list_link -%>
<tr><td style='vertical-align:middle;'><img style='margin-right:4px;' src="http://winofsql.jp/image/sab.gif" border="0"></td><td><a style='font-size:12px;text-decoration:none;' href="<% content_link.url %>" <% if:content_link.target %>target="_blank"<% /if %>><% content_link.title %></a></td></tr>
<% /loop -%>
</table>
<% content.footer -%>
</div>

</div>

<SCRIPT type="text/javascript">
if ( document.getElementsByTagName("BODY")[0].clientWidth > 1100 ) {
	(document.getElementById("rlink")).appendChild(document.getElementById("java_link"));
}
</SCRIPT>




Seesaa独自タグ簡易リファレンス

タグ:Seesaa
posted by lightbox at 2009-10-11 19:54 | Seesaa プログ管理支援 | このブログの読者になる | 更新情報をチェックする

JS : 正規表現サブマッチテスター

関連するMicrosoftのドキュメント
正規表現の構文

NT (.*?);

は、NT で始まって、;で終わる最短の文字列です
. => 改行を除く任意の1文字
* => 直前の文字パターンと0回以上一致
? => 直前のパータンで、できるだけ少ない文字列と一致

▼ ? を取り除くと違いが良く解ります



RegExp.$1
RegExp.$2
RegExp.$3
<INPUT type=button value="実行" onClick='
try {
var re = new RegExp(document.getElementById("patString").value,"ig");
re.exec(document.getElementById("baseString").value);
document.getElementById("resultString").value=RegExp.$1;
document.getElementById("resultString2").value=RegExp.$2;
document.getElementById("resultString3").value=RegExp.$3;
}catch(e){alert(e.message)}
'>
<br>
RegExp.$1<INPUT type=text id="base" style="width:500px;">
<br>
RegExp.$2<INPUT type=text id="pat" style="width:500px;">
<br>
RegExp.$3<INPUT type=text id="result" style="width:500px;">





posted by lightbox at 2009-10-11 02:35 | JavaScript 正規表現 | このブログの読者になる | 更新情報をチェックする

2009年10月04日


Java : ODBC への動的接続

Microsoft の仕様です。DSN の代わりに接続文字列を渡して、
動的に接続する事ができます
MySQL
String cstr = 
	"Provider=MSDASQL"+
	";Driver={MySQL ODBC 3.51 Driver}"+
	";Server=localhost"+
	";DATABASE=lightbox;";

try {
	Class.forName( DriverName );
	con = DriverManager.getConnection(
		"jdbc:odbc:"+cstr,	// ODBC MySQL
		"root",
		""
	);
	stmt = con.createStatement();
}
catch( Exception e  ) {
	System.out.println(e.getMessage());
}

MDB ( JSP )
String connectionString =
	"Provider=MSDASQL" +
	";Driver={Microsoft Access Driver (*.mdb)}" +
	";Dbq=" + application.getInitParameter("ConnectionUrl")+
	";";

cn = DriverManager.getConnection("jdbc:odbc:"+connectionString);

<?xml version="1.0" encoding="Shift_JIS"?>
<web-app>
	<context-param>
		<param-name>DriverName</param-name>
		<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
	</context-param>
	<context-param>
		<param-name>ConnectionUrl</param-name>
		<param-value>C:\user\localweb\tomcatpath6\販売管理B.mdb</param-value>
	</context-param>
	<context-param>
		<param-name>ConnectionDbname</param-name>
		<param-value></param-value>
	</context-param>
	<context-param>
		<param-name>ConnectionUser</param-name>
		<param-value></param-value>
	</context-param>
	<context-param>
		<param-name>ConnectionPass</param-name>
		<param-value></param-value>
	</context-param>
</web-app>

関連する記事
Java : ODBC 接続でキャラクタセットを指定する
VBS : XMLファイルのテキストノードの値の更新


posted by lightbox at 2009-10-04 20:20 | java : データベース | このブログの読者になる | 更新情報をチェックする

2009年10月02日


Java : ODBC 接続でキャラクタセットを指定する

これは、sun.jdbc.odbc.JdbcOdbcDriver のお話で、各RDBMS が提供しているドライバの場合は、必ずしもドライバで指定する必要は無いはずです。

JDBC-ODBC ブリッジの拡張
// 接続情報
Properties prop = new java.util.Properties();
prop.put("charSet", "MS932");
prop.put("user", "lightbox");
prop.put("password", "lightbox");

// 接続( Oracle は、DSN )
cn = DriverManager.getConnection("jdbc:odbc:Oracle", prop);

関連する記事

Java : ODBC への動的接続



タグ:java ODBC
posted by lightbox at 2009-10-02 16:35 | java : データベース | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり