C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>
■1776  Re[4]: ユーザー権限のログファイル作成について
□投稿者/ Jitta -(2007/03/06(Tue) 07:29:38)
    No1768 (渋木宏明(ひどり) さん) に返信
    >>>その仕様を変える。
    >>>My Documents とか、Application.UserAppDataPath とかに出力するが吉。
    >>
    >>ごもっとも。しかし上司からできるか調べてといわれているので、
    >>こんな方法がありますけど、危険なので仕様変えませんか?
    >>などといいたいんです。
    >
    > ならばこそ、「デフォルトで一般ユーザは ProgramFiles フォルダ配下への書き込み権が無いので出来ません」で十分説明できてると思いますけど?

    プラス、ロゴ要件の仕様書とか。
    VISTAで動かすと、“アカウントごとの”ログになりますよ、と。
記事No.1755 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1777  Re[5]: ユーザー権限のログファイル作成について
□投稿者/ セイン -(2007/03/06(Tue) 09:57:41)
    >渋木宏明さん
    >「デフォルトで一般ユーザは ProgramFiles フォルダ配下への書き込み権が無いので出来ません」
    なんと簡潔でまとまった説明。ありがとうございます。

    >Jittaさん
    >プラス、ロゴ要件の仕様書とか。
    >VISTAで動かすと、“アカウントごとの”ログになりますよ、と。
    ロゴ要件?勉強不足です。すいません。


    マイドキュメント内でログを作成するほうが
    ユーザーごとのログが残るので、便利ではないかということもあり、
    マイドキュメント内ログ作成で行きます。

    貴重なご意見とお時間いただきありがとうございます。
    (ロゴ要件勉強しておきます。)
記事No.1755 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1790  Re[6]: ユーザー権限のログファイル作成について
□投稿者/ Jitta -(2007/03/06(Tue) 12:12:46)
    No1777 (セイン さん) に返信
    ハードコーディングしちゃダメよ。XPとVISTAでパスが違うから
記事No.1755 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1595  SQLで最小の空き番号を取得する方法
□投稿者/ シャノン -(2007/02/28(Wed) 11:57:46)

    分類:[データベース全般] 

    Oracle 10gです。

    お世話になります。

    あるテーブルの列に、数値型で連続性のある(1, 2, 3のような)一意なIDが振られています。
    このテーブルから末尾でないレコードを削除した後、新しいレコードを追加する際、削除したレコードのIDを再利用したいのですが、一般的な方法はありますでしょうか?

    1. 最初に、IDが1, 2, 3, 4, 5というレコードがあり、
    2. ID 2 と 4 を削除したことにより 1, 3, 5 となった場合
    3. 次にレコードを追加するときは 2, その次は 4, 以降は 6, 7… としたい

    ということです。
    ループを回して先頭から1件ずつ、そのIDを持つレコードがあるかどうか…と調べていくのは避けたいです。

    ぐぐってみたところ、1件だけ
    http://seoi.net/sql/num_blankmin.shtml
    見つかったのですが、
    > データが増加するほど、すごく重い処理になるため注意して下さい。
    とありますし、select が5つも登場していて見るからに複雑そうです。
    この方法以外に、もっと簡単な方法がありましたらご教示願います。

    #こういう「最小の空き番号」って、一般的にやらないものでしょうか?
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■1598  Re[1]: SQLで最小の空き番号を取得する方法
□投稿者/ road_movie -(2007/02/28(Wed) 12:26:49)
記事No.1595 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1601  Re[2]: SQLで最小の空き番号を取得する方法
□投稿者/ シャノン -(2007/02/28(Wed) 12:53:14)
    2007/02/28(Wed) 12:54:33 編集(投稿者)

    No1598 (road_movie さん) に返信

    ありがとうございます。

    > こんにちは
    > Oracleは分かりませんがこちらはどうですか?
    >
    > http://codezine.jp/a/article/aid/652.aspx

    うわ、すごいシンプルですねぇ。

    自分でもさらに探して、
    http://www.accessclub.jp/bbs/0115/beginers39524.html
    というのを見つけました。

    で、
    「外部結合して NULL かどうか見るくらいなら、EXISTS 使うべきだろう」
    ということで、以下のような SQL にたどり着きました。

    教えていただいた codezine の例も、EXISTS の代わりに IN を使っているだけで、本質的には同じですね。

    SELECT
    NVL( MIN( 番号 ) + 1, 1 )
    FROM
    (
    SELECT
    番号
    FROM
    テーブル T1
    WHERE
    NOT EXISTS
    (
    SELECT
    *
    FROM
    テーブル T2
    WHERE
    T1.番号 + 1 = T2.番号
    )
    )

    ただ、テーブルが1つならこれでいいですが、実は、要件としては
    「2つのテーブルで重複しない整数値」が必要です。
    例えば、
    テーブルA:1, 3, 7
    テーブルB:2, 4, 5
    だったら、(AとBのどちらに新しいレコードを作るにせよ)次の値は6、
    その次は8である必要があります。
    こんなのをこの方法で解こうとすると結合が複雑になりすぎるので、
    「削除した番号を持つテーブル」を作るか、「2つのテーブルの
    共通部分を1つのテーブルにまとめるよう変更する」かを提案したいと思います。

    #そのような要件のないテーブルには、この結果を生かさせて頂きます。
記事No.1595 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1627  Re[3]: SQLで最小の空き番号を取得する方法
□投稿者/ corgi -(2007/03/01(Thu) 01:08:25)
    このテーマはOracle機能やSQL機能で解決するよりも業務系実装ロジックで解決したほうが
    性能コストや実装コストが合理的におさまるような気がします。

    キーを再利用しなければいけない理由が明確になればもう少し議論が進展するのではないでしょうか


    たとえばオラクルには「クラスタ表」という機能があります。
    キーを再利用しなければいけないシステム仕様があるならば
    同時に「クラスタ表」の検討も必要かもしれません

    単にキー値の再利用管理が必要ならば
    別テーブル作成したほうが(ある意味)スマートと思います

    以下のテーブルを作成し
    あらかじめ想定するキー範囲で
    テーブル作成しておく。

    アプりケーションから下記テーブルに対する更新は
    STATUS値に対するupdateのみ・・・・みたいな

    Create Table キー管理
    ( KEY number(8),
    STATUS char(1)
    )

記事No.1595 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1631  Re[4]: SQLで最小の空き番号を取得する方法
□投稿者/ シャノン -(2007/03/01(Thu) 09:18:47)
    2007/03/01(Thu) 09:19:18 編集(投稿者)

    No1627 (corgi さん) に返信
    > このテーマはOracle機能やSQL機能で解決するよりも業務系実装ロジックで解決したほうが
    > 性能コストや実装コストが合理的におさまるような気がします。

    「業務系実装ロジック」とは何でしょう?
    現状、SQL で組まないとなれば、C# でのプログラムによる解決となります。

    > キーを再利用しなければいけない理由が明確になればもう少し議論が進展するのではないでしょうか

    単に、キー空間を節約するためです。
    以前はもっと切実な理由があって出てきた問題なのですが、そっちの方は解決して、これだけ残りました。

    > たとえばオラクルには「クラスタ表」という機能があります。
    > キーを再利用しなければいけないシステム仕様があるならば
    > 同時に「クラスタ表」の検討も必要かもしれません

    DBの便利な機能は全くと言っていいほど使っていません。
    「カーソルって何?」「ストアドって何?」っていうレベルで、基本の4大構文(SELECT、INSERT、UPDATE、DELETE)しか使っていません。
    いまさら使うわけにもいきません。

    > 単にキー値の再利用管理が必要ならば
    > 別テーブル作成したほうが(ある意味)スマートと思います

    そうですね。候補の一つに考えています。
記事No.1595 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1791  Re[5]: SQLで最小の空き番号を取得する方法
□投稿者/ 明智重蔵 -(2007/03/06(Tue) 13:12:06)
>
記事No.1595 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1792  Re[6]: SQLで最小の空き番号を取得する方法
□投稿者/ シャノン -(2007/03/06(Tue) 13:50:37)
    No1791 (明智重蔵 さん) に返信
    > http://oraclesqlpuzzle.hp.infoseek.co.jp/2-3-27.html
    > Lead関数とis not trueを使ってはどうでしょう

    むむ…面白い関数ですね。
    しかも LNNVL なんてものまで覚えてしまった。

    今回の件は、「SQLで技巧を凝らすより、C#でやってしまえ」に落ち着きそうですが、機会があったら利用させて頂きます。
記事No.1595 のレス / END /過去ログ10より / 関連記事表示
削除チェック/

■1628  Re[3]: SQLで最小の空き番号を取得する方法
□投稿者/ corgi -(2007/03/01(Thu) 01:20:31)
    No1601 (シャノン さん) に返信

    SQL性能の議論ではin/not in/existsいずれも対象件数増加に伴いCPUコストが増大しますのでお勧めではないと思います
記事No.1595 のレス /過去ログ10より / 関連記事表示
削除チェック/

■113  SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ ろーちゃん -(2007/01/17(Wed) 09:43:32)

    分類:[.NET 全般] 

    SQL Server 2005 CLR ですが VB2005でOleDbConnection.Openできないのですが、、、

    VB2005のWinAppから呼び出すとちゃんとOPENするのですが、
    SQL Server 2005 から呼び出すとOPENでこけます。

    ソースは以下です
    ----
    Imports System.Data.OleDb


    connStr = "Provider=SQLOLEDB.1;Password=xxxxxxx;Persist Security
    Info=True;User ID=sa;Initial Catalog=tbl_1;Data Source=SV01"

    m_conn = New OleDbConnection(connStr)
    m_conn.Open()
    ----
    System.Data.OleDb が使えないのでしょうか?

    OS:WinXPSP2
    VS2005Developer
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■117  Re[1]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ (報告) -(2007/01/17(Wed) 10:13:45)
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■125  Re[1]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ はつね -(2007/01/17(Wed) 12:25:13)
>
    No113 (ろーちゃん さん) に返信
    > SQL Server 2005 CLR ですが VB2005でOleDbConnection.Openできないのですが、、、

    SQL Server 2005 CLRの中から、SQL Server 2005 CLRが接続できないという意味でしょうか。
    こけるという事ですが、何がこけるのでしょうか。そのときに表示されるエラーメッセージなどがあったら教えて下さい。
    環境作ってやってみればいいのですが、今は手元にないのでよろしくお願いします。

    > VB2005のWinAppから呼び出すとちゃんとOPENするのですが、

    呼び出し元のSQL Server 2005稼動マシンでWinAppを動作させた結果でしょうか?


    > connStr = "Provider=SQLOLEDB.1;Password=xxxxxxx;Persist Security
    > Info=True;User ID=sa;Initial Catalog=tbl_1;Data Source=SV01"

    呼び出し元のSQL Server 2005には、指定したProviderがインストールされていますか?

    ####
    マルチポストとの事ですので、全マルチポスト先の間での情報共有(他のポスト先で問題解決の情報が投稿されたり、何か質問を受けて回答した場合に、その他のポスト先に必ず投稿する)をお願いします。
    現実世界で、複数の人に個別に問い合わせをしないですよね?
    もししてしまって、即答がなかったときには随時状況を連絡したりしますよね?
    ネットでも同じです。
    # そういった事後活動が面倒なのでマルチポストはやらない方が楽です。
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■129  Re[2]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ ろーちゃん -(2007/01/17(Wed) 14:04:20)
    No125 (はつね さん) に返信
    > ■No113 (ろーちゃん さん) に返信
    >>SQL Server 2005 CLR ですが VB2005でOleDbConnection.Openできないのですが、、、
    >
    > SQL Server 2005 CLRの中から、SQL Server 2005 CLRが接続できないという意味でしょうか。
    > こけるという事ですが、何がこけるのでしょうか。そのときに表示されるエラーメッセージなどがあったら教えて下さい。
    > 環境作ってやってみればいいのですが、今は手元にないのでよろしくお願いします。

    Partial Public Class SQLCLR
    <SqlFunction()> _
    Public Shared Function HelloSqlClr() As SqlString

    connStr = "Provider=SQLOLEDB.1;Password=xxxxxx;Persist Security Info=True;User ID=sa;Initial Catalog=tbl_1;Data Source=xxxxx"
    m_conn = New OleDbConnection(connStr)
    m_da = New OleDbDataAdapter
    Try
    m_conn.Open()

    ここでCatchに入ります



    > 呼び出し元のSQL Server 2005には、指定したProviderがインストールされていますか?

    localのSQL ServerでやっているのでDBドライバは問題ないと思います



    > マルチポストとの事ですので、全マルチポスト先の間での情報共有(他のポスト先で問題解決の情報が投稿されたり、何か質問を受けて回答した場合に、その他のポスト先に必ず投稿する)をお願いします。
    > 現実世界で、複数の人に個別に問い合わせをしないですよね?
    > もししてしまって、即答がなかったときには随時状況を連絡したりしますよね?
    > ネットでも同じです。
    > # そういった事後活動が面倒なのでマルチポストはやらない方が楽です。

    事は急を要するので、できるだけ大勢の人に見てもらうために、投稿しました。
    CLRにはやり方がさまざまあるようなので、スキルアップという点でも有効だと思います。
    あらゆるところでコテハンでやっているので2chで匿名で投稿しても投稿内容でばれてしまうことがしばしば・・・
    別の場所では「ろーちゃんて有名」との声も。
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■138  Re[3]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ ろーちゃん -(2007/01/17(Wed) 18:03:04)
    一応

    http://www.atmarkit.co.jp/fdb/rensai/sqls05try05/sqls05try05_1.html
    で、OPENはできるようになりました。
    あと、SqlDataReader の値を吸い出して、ファイルに書き出すのですが
    Dim sw As New StreamWriter("C:\sql\Test.txt", False, System.Text.Encoding.GetEncoding("Shift_Jis"))

    で、セキュリティエラー(permissionがどうやらこうやら)が出て、
    どうしていいかわかりません。C:\sqlフォルダーのセキュリティをどうにかしないと
    いけないみたいですが、そこで行き詰ってます。
    どうすればいいでしょうか?
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■143  Re[4]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ はつね -(2007/01/17(Wed) 18:36:50)
>
    No138 (ろーちゃん さん) に返信
    > あと、SqlDataReader の値を吸い出して、ファイルに書き出すのですが
    > Dim sw As New StreamWriter("C:\sql\Test.txt", False, System.Text.Encoding.GetEncoding("Shift_Jis"))
    >
    > で、セキュリティエラー(permissionがどうやらこうやら)が出て、
    > どうしていいかわかりません。C:\sqlフォルダーのセキュリティをどうにかしないと
    > いけないみたいですが、そこで行き詰ってます。

    フォルダセキュリティではなくCLR側の設定だったと思います。
    CLRからは通常はローカルな資源にアクセスする事はできないセキュリティになっています。そのあたり、MSDNで調べてみると判ると思います。

    Windows Developers Magazineのちょっと前の号に書いたような気もしますが、いま手元に原稿がないので詳細は不明。
    http://www.seshop.com/detail.asp?pid=7338
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■190  Re[5]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ はつね -(2007/01/18(Thu) 16:08:29)
>
    No143 (はつね さん) に返信
    > ■No138 (ろーちゃん さん) に返信
    > フォルダセキュリティではなくCLR側の設定だったと思います。
    > CLRからは通常はローカルな資源にアクセスする事はできないセキュリティになっています。そのあたり、MSDNで調べてみると判ると思います。

    (1) プロジェクトのプロパティでアクセス許可を「アンセーフ」
    (2) 配置先のデータベースのTRUSTWORTHYをOn

    ちなみにこの状態だとSQL Serverのインスタンスを落とす事も可能なので、本当にCLRからローカルディスクのテキストへ出力しないと実現できないものなのかをまずは考慮すべきでしょう。

記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■139  Re[3]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ シャノン -(2007/01/17(Wed) 18:15:32)
    No129 (ろーちゃん さん) に返信
    > 事は急を要するので、できるだけ大勢の人に見てもらうために、投稿しました。

    「急を要する」というのは、マルチの理由として最も嫌われます。
    #好かれる理由なんてないでしょうけど。

    ほんとに急を要するんであれば、金払ってMSに見てもらうのが一番確実です。
    こういう掲示板では、回答者には急いで答える義務はありませんから、貴方が暇だろうが急いでいようが知ったこっちゃありません。
    マルチに対して求めることはただ一つ。きっちりと後始末をすること。
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

■149  Re[4]: SQL Server 2005 CLR VB2005 DBアクセス方法
□投稿者/ Jitta -(2007/01/17(Wed) 20:19:39)
>
    > 事は急を要するので、できるだけ大勢の人に見てもらうために、投稿しました。
     逆だね。
    「あっちで聞いているんなら、別に良いよね」
    「俺らを信用できないってか(怒)」

     急を要するなら、サポート契約を結べばいいのに。誰か優しくて、すごい人が、たまたま見てくれないと答えを得られないところより、よっぽど早く、親切丁寧に、解決してくれるだろうに。


    はつねさんの、
    > 全マルチポスト先の間での情報共有(他のポスト先で問題解決の情報が投稿されたり、何か質問を受けて回答した場合に、その他のポスト先に必ず投稿する)をお願いします。
    を、よく考えましょう。

     少なくとも、どぼんさんところ、ここ、Insider.NET の3箇所に、同じ内容が記載されるようにしてください。
     14:13 に、どぼんさんのところに投稿した、「他のプロジェクトではうまくいく」という情報が、15:42 現在、他の2つにありません。
記事No.113 のレス /過去ログ10より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 >>

ヒット件数が多いので過去ログ1〜10 までの検索結果 / 過去ログ11からさらに検索→

パスワード/

- Child Tree -