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 | 33 | 34 | 35 | 36 >>
■69533  Re[6]: ExecuteReader の制約
□投稿者/ MassyPie -(2014/01/07(Tue) 09:20:35)
    みなさま

    いろいろとアドバイスをありがとうございます。

    他社のDBからデータを取得していることもあり、私たちはSQL文しか渡されず、テーブル構成も分かりませんし、データ(ダミーデータさえも)もらうことができません。
    その代わりに、私たちが欲しいデータが取得できる正常に動くSQL文を頂くことになっているのですが、今回はこれがクリアされていないという判断の元、新しいSQL文待ちとなりました。

    「SQL文が悪い」という前に、ExecuteReaderの制約でデータが取れないのではないかなど、いろいろ調べたのですが、そうではなく「SQL文が悪そうだ。」というエビデンスがいくつか得られたので、それを提出しSQL文の見直しをしてもらえることになりました。

    直接の解決ではないのですが、本件クローズさせて頂きます。

    たくさんのアドバイスありがとうございます。<(__)>
記事No.69437 のレス / END /過去ログ118より / 関連記事表示
削除チェック/

■69538  Re[7]: ExecuteReader の制約
□投稿者/ shu -(2014/01/07(Tue) 12:05:47)
    No69533 (MassyPie さん) に返信

    とりあえず違うかもしれませんが、
    Readerを既に開いている1つのコネクションから
    もう一つReaderを開くことは出来ません。
    1つ目のSQLですべて読み込みクローズしてから2つ目のSQLでの読み込みを開始するか
    コネクションを2つ用意してそれぞれのコネクションからReaderを開く必要があります。

    大丈夫でしょうか?
記事No.69437 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69575  Re[8]: ExecuteReader の制約
□投稿者/ MassyPie -(2014/01/09(Thu) 17:07:25)
    shu さん

    > Readerを既に開いている1つのコネクションから
    > もう一つReaderを開くことは出来ません。

    テスト環境でデバッガを動かしていた時に、まさにこのエラーが出て修正しましたので、大丈夫です。

    今日、新しいSelect文をもらい、正常にデータが取れました。
    お騒がせして申し訳ありませんでした。<(__)>

    また、困った時にはよろしくお願い致します。

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

■69558  WindwsServer2012R2のウィルス対策ソフト
□投稿者/ あらら -(2014/01/09(Thu) 01:39:04)

    分類:[Windows 全般] 

    WindowsServer2012R2のウィルス対策ソフトに関して質問です。

    WindowsServer2012R2に対応したウィルス対策ソフトを探しています。

    私が調べた限りでは、WindowsServer2012 R2に対応しているウィルス対策ソフトは
    現在では、Symantecの「Symantec Endpoint Protection」だけでした。

    1個しか対応していないということもないと思うので、
    WindowsServer2012 R2に対応しているウィルス対策ソフトで上記以外があれば
    教えて頂きたいです。

親記事 /過去ログ118より / 関連記事表示
削除チェック/

■69559  Re[1]: WindwsServer2012R2のウィルス対策ソフト
□投稿者/ kaina -(2014/01/09(Thu) 09:19:26)
    どのような調べ方をしたのか知りませんが、
    法人向けのセキュリティソフトの製品を調べれば
    有名どころ(シマンテック、Macafee等)は
    対応している製品があります。
記事No.69558 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69561  Re[2]: WindwsServer2012R2のウィルス対策ソフト
□投稿者/ 魔界の仮面弁士 -(2014/01/09(Thu) 10:42:21)
    2014/01/09(Thu) 10:49:31 編集(投稿者)

    No69559 (kaina さん) に返信
    > 有名どころ(シマンテック、Macafee等)は
    > 対応している製品があります。

    シマンテックについては既知ですよね? 最初の質問で
    『現在では、Symantecの「Symantec Endpoint Protection」だけ』と
    書かれているわけですし。


    McAfee については、先の投稿( No69560 )で未対応だと
    回答してしまったので、改めて調べなおしてみました。

    まず、「VirusScan Enterprise」については、
    下記(2014/01/06:KB51111)において、"No" と表記されています。
    http://kc.mcafee.com/corporate/index?page=content&id=KB51111

    また、先の回答にもあるように、「SaaS EndPoint Protection 6.x」は、
    日本語のTP513121301(2013/12/16 現在)にて非対応であると
    明確に表記されています。
    http://www.mcafee.com/japan/pqa/aMcAfeeTPS50.asp?ancQno=TP513121301

    ただし、英語のKB60533(2013/12/11 現在)においては、6.0.2 で
    サポートされたと書かれていました。日付的に情報が合致しませんが、
    国内版と英語版とで対応が異なるのでしょうか…。
    https://kc.mcafee.com/agent/index?page=content&id=KB60533


    上記以外の製品/バージョンのことを仰っているのだとしたら、
    後学のために教えてください。>kaina さん


    # 最終的には、各社に問い合わせたほうが手っ取り早そうですが。(^^;
記事No.69558 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69560  Re[1]: WindwsServer2012R2のウィルス対策ソフト
□投稿者/ 魔界の仮面弁士 -(2014/01/09(Thu) 10:23:12)
記事No.69558 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69562  Re[2]: WindwsServer2012R2のウィルス対策ソフト
□投稿者/ kaina -(2014/01/09(Thu) 11:52:14)
    >シマンテックについては既知ですよね? 最初の質問で
    >『現在では、Symantecの「Symantec Endpoint Protection」だけ』と
    >書かれているわけですし。

    例として書きましたが、重複してましたね。

    さて、魔界の仮面弁士さんが書かれている以外のソフトですが、
    こんなところでしょうか。

    【avast】
     Microsoft Windows サーバー 2012 (最新のサービスパックが適用されたすべてのエディション, 64-ビット, Small Business Server/Essentials を含む, Server Core は除く)ということで対応しているようです。
     http://www.avast.co.jp/server-security

    【Avira】
     対応時期等は不明ですがWindows Server 2012R2にはまだ対応してない模様です。
     http://www.avira.com/en/for-business-avira-server-security#tab3

    【Webroot】
     Webroot SecureAnywhere&#174; Business
     Windows Server 2012自体がまだ未対応のようです。
     http://www.webroot.com/jp/ja/business/products/user-protection#panel3

    他にもマイナーどころを探せばあるかと思いますが、
    魔界の仮面弁士さんが書かれている通り、各社に問い合わせるのが
    一番確実かと思います。
記事No.69558 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69583  Re[3]: WindwsServer2012R2のウィルス対策ソフト
□投稿者/ あらら -(2014/01/09(Thu) 22:56:32)
    kainaさん、魔界の仮面弁士さん
    返信ありがとうございます。

    結構対応しているソフトがあるのですね。
    ありがとうございました。
記事No.69558 のレス / END /過去ログ118より / 関連記事表示
削除チェック/

■69582  VB2010SerialPort処理について
□投稿者/ くま -(2014/01/09(Thu) 22:03:05)

    分類:[.NET 全般] 

    VB2010でシリアル送受信のプログラムを作成しています。
    OS:WinXPです

    ある装置から、シリアルでSTX・・・ETXのデータが自発的に送られてきます。
    自発データのうち、ある決まったデータの場合に、PCからコマンドを装置に
    送る処理を行うのですが、その応答を受信するのに20秒近くかかります。

    Private Sub SerialPort_DataReceived(sender As Object, e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort.DataReceived

        select case 受信データ

    case ある決まったデータ
           call コマンド送信
        end select

    End Sub

    シリアルポート受信処理内で、コマンドを送信するからその応答が遅くなっていると思うのですが
    他にどんなコードで実現できるのかわかりません。
    ご存知の方教えて頂けないでしょうか。
    以上、よろしくお願い致します。
親記事 /過去ログ118より / 関連記事表示
削除チェック/

■69585  Re[1]: VB2010SerialPort処理について
□投稿者/ オショウ -(2014/01/10(Fri) 00:32:25)
    2014/01/10(Fri) 00:32:47 編集(投稿者)

    No69582 (くま さん) に返信

      DataReceivedイベントで処理されるということは、非同期処理を行われる設定に
      なっていると思いますが、受信割り込みと言う意味では、ReceivedBytesThreshold
      は、1 byte にされていますか?

      それと、DataReceivedイベントは、データ受信以外の制御線等の変化でもイベント
      が発生しますので、受信データのみに応答するように判定機能を入れないといけま
      せん。

      If e.EventType = SerialData.Chars Then
        ' 受信データがある場合の処理
      End If

      あと、STX〜ETX と言うデータフォーマットであれば・・・
      
    Public Overridable Sub OnReceive(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs)

    Dim dev As SerialPort
    Dim sz As String

    dev = DirectCast(sender, SerialPort)

    If e.EventType = SerialData.Chars Then
    sz = dev.ReadTo(DATA_END_CODE)
    If sz <> String.Empty Then
    RaiseEvent ReceiveData(sz)
    End If
    End If

    End Sub

      と書けます。受信データは、RaiseEvent で返してますが、これはシリアル通信機能を
      別クラスに定義し、DLL化している為です。

      dev.ReadTo(...) を使うと、所定の文字を受信するまで待たれるので、CPU負荷を
      低減でき非同期受信の機能を最大限に生かせます。

      この場合の、DATA_END_CODE には、ETX を文字コードとして指定します。

      今回、欲しい機能としては、RaiseEventしている部分に、STX〜ETXまでの受信した文
      字列を判断し、返信する機能が必要となります。が、その辺はお解りになるでしょう

      正しく導入できれば、受信した瞬間に応答文字列を送信できるようになりますので、
      20秒もロスするようなことは無くなるはずです。

    以上。参考まで
記事No.69582 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69589  レジストリキーの最終書き込み時刻が取得できない
□投稿者/ C#初心者 -(2014/01/10(Fri) 12:01:20)

    分類:[.NET 全般] 

    Windows7 Pro 32ビット
    Microsoft C# 2010

    次のソースでレジストリにアクセスしているが、
    RegQueryInfoKeyは成功し、
    ハンドルであるkeyや
    サブキーの数ctSubKeysは取得できているが、
    肝心なRegEnumKeyExになると
    エラー5
    アクセスが拒否されました
    になる。

    回避方法を教えてください。
    よろしくお願いします。


    using System.Runtime.InteropServices;

    [DllImport("advapi32.dll")]
    public static extern int RegOpenKeyEx(
    UIntPtr hKey,
    string subKey,
    int ulOptions,
    int samDesired,
    out UIntPtr hkResult);

    [DllImport("advapi32.dll")]
    public static extern int RegQueryInfoKey(
    UIntPtr hkey,
    out StringBuilder lpClass,
    ref uint lpcbClass,
    IntPtr lpReserved,
    out uint lpcSubKeys,
    IntPtr lpcbMaxSubKeyLen,
    IntPtr lpcbMaxClassLen,
    IntPtr lpcValues,
    IntPtr lpcbMaxValueNameLen,
    IntPtr lpcbMaxValueLen,
    IntPtr lpcbSecurityDescriptor,
    IntPtr lpftLastWriteTime
    );

    [DllImport("advapi32.dll")]
    extern public static int RegEnumKeyEx(
    UIntPtr hkey,
    uint index,
    StringBuilder lpName,
    ref uint lpcbName,
    IntPtr reserved,
    IntPtr lpClass,
    IntPtr lpcbClass,
    out long lpftLastWriteTime
    );

    public enum RegSAM
    {
    QueryValue = 0x0001,
    SetValue = 0x0002,
    CreateSubKey = 0x0004,
    EnumerateSubKeys = 0x0008,
    Notify = 0x0010,
    CreateLink = 0x0020,
    WOW64_32Key = 0x0200,
    WOW64_64Key = 0x0100,
    WOW64_Res = 0x0300,
    Read = 0x00020019,
    Write = 0x00020006,
    Execute = 0x00020019,
    AllAccess = 0x000f003f
    }

    public static class RegHive
    {
    public static UIntPtr HKEY_LOCAL_MACHINE = new UIntPtr(0x80000002u);
    public static UIntPtr HKEY_CURRENT_USER = new UIntPtr(0x80000001u);
    }



    static private void RunTest()
    {
    const string keyName = @"Software\Microsoft\Windows\CurrentVersion\Explorer";
    UIntPtr key;
    int status = RegOpenKeyEx(
    RegHive.HKEY_CURRENT_USER, //UIntPtr hKey,
    keyName, //string subKey,
    0, //int ulOptions,
    (int)RegSAM.QueryValue, //int samDesired,
    out key //out UIntPtr hkResult
    );
    if (0 != status)
    {
    Console.WriteLine("RegOpenKeyEx failed");
    return;
    }

    var className = new StringBuilder(1024);
    var classNameLength = (uint)className.Capacity;
    uint ctSubKeys;

    status = RegQueryInfoKey(
    key, //UIntPtr hkey,
    out className, //out StringBuilder lpClass,
    ref classNameLength, //ref uint lpcbClass,
    IntPtr.Zero, //IntPtr lpReserved,
    out ctSubKeys, //out uint lpcSubKeys,
    IntPtr.Zero, //IntPtr lpcbMaxSubKeyLen,
    IntPtr.Zero, //IntPtr lpcbMaxClassLen,
    IntPtr.Zero, //IntPtr lpcValues,
    IntPtr.Zero, //IntPtr lpcbMaxValueNameLen,
    IntPtr.Zero, //IntPtr lpcbMaxValueLen,
    IntPtr.Zero, //IntPtr lpcbSecurityDescriptor,
    IntPtr.Zero //IntPtr lpftLastWriteTime
    );
    if (0 != status)
    {
    Console.WriteLine("RegQueryInfoKey failed");
    return;
    }

    long lpftLastWriteTime;

    for (uint xSubKey = 0; xSubKey < ctSubKeys; ++xSubKey)
    {
    var subKeyName = new StringBuilder(1024);
    var subKeyNameLength = (uint)subKeyName.Capacity;

    int status2 = RegEnumKeyEx(
    key, //UIntPtr hkey,
    xSubKey, //uint index,
    subKeyName, //StringBuilder lpName,
    ref subKeyNameLength, //ref uint lpcbName,
    IntPtr.Zero, //IntPtr reserved,
    IntPtr.Zero, //IntPtr lpClass,
    IntPtr.Zero, //IntPtr lpcbClass,
    // IntPtr.Zero //out long lpftLastWriteTime
    out lpftLastWriteTime
    );

    if (0 != status2)
    {
    string errorMessage = new Win32Exception(status2).Message;
    Console.WriteLine("RegEnumKeyEx failed:" + errorMessage);
    break;
    }
    }
    } // static private void RunTest()


    private void button6_Click(object sender, EventArgs e)
    {
    RunTest();
    Console.ReadKey();
    }
親記事 /過去ログ118より / 関連記事表示
削除チェック/

■69590  Re[1]: レジストリキーの最終書き込み時刻が取得できない
□投稿者/ Hongliang -(2014/01/10(Fri) 12:18:43)
    2014/01/10(Fri) 12:21:20 編集(投稿者)

    http://msdn.microsoft.com/ja-jp/library/cc429912.aspx
    RegEnumKeyEx関数の解説に、必要なアクセス権が記述されています。

    ところで、Microsoft.Win32.RegistryおよびRegistryKeyを使用すれば、この辺のは大体不要になると思いますよ。
    書き込み時刻は取得できないので、それが必要ならRegQueryInfoKeyは必要ですが。
    関数に渡すハンドルはRegistryKey::Handleを使用できます。これはSafeRegistryHandleという型で、
    RegQueryInfoKeyで今UIntPtrを使っているのの代わりにSafeRegistryHandleを使えます。

    [DllImport("advapi32.dll")]
    public static extern int RegQueryInfoKey(SafeRegistryHandle hkey, ...)
記事No.69589 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69592  Re[2]: レジストリキーの最終書き込み時刻が取得できない
□投稿者/ C#初心者 -(2014/01/10(Fri) 13:12:03)
    アクセス権を変更したらできました。
    Hongliangさんありがとうございました。
記事No.69589 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69593  Re[3]: レジストリキーの最終書き込み時刻が取得できない
□投稿者/ C#初心者 -(2014/01/10(Fri) 13:14:47)
    No69592 (C#初心者 さん) に返信
    > アクセス権を変更したらできました。
    > Hongliangさんありがとうございました。
    >
記事No.69589 のレス / END /過去ログ118より / 関連記事表示
削除チェック/

■69565  テーブルアダプターのinsert
□投稿者/ todo -(2014/01/09(Thu) 14:03:57)

    分類:[.NET 全般] 

    先日質問させていただいたばかりなのにまた躓いてしまいました。

    現在visualstudio2008、C#を使い勤怠表を作成しています。データベースはmysqlです。

    テーブルアダプターでinsertクエリを作り実行できるようにしたいのですが、
    クエリビルダを使い列とvaluesを指定して作成。

    何故かinsertクエリの引数がデータベースの列型と一致しません。
    intで設定しているところをstringやdate型のところをintで入れろと言ってきます。
    引数をdate型で設定している一つにするといけるのですが複数設定すると、型や表示(param2などが表示される)がおかしいです。

    ならテーブルアダプターのinsertメソッド?でやろうと思ったのですが、
    自動的には生成されておらず生成にチェックを入れてもできません。
    プロパティのGenerateDBDirectMethodsがfalseだったのでtrueに変えようとしたのですが
    データベース オブジェクトの型には、GenerateDBDirect を True に設定できません。
    というエラーが出て変更できません。


    始めたばかりなのでわかりづらい説明だったらすみません。
    何故こうなるのかがわからず困っております。
    恐れ入りますがご教示よろしくお願いいたします。
親記事 /過去ログ118より / 関連記事表示
削除チェック/

■69570  Re[1]: テーブルアダプターのinsert
□投稿者/ WebSurfer -(2014/01/09(Thu) 15:36:31)
    No69565 (todo さん) に返信
    > 先日質問させていただいたばかりなのにまた躓いてしまいました。
    >
    > 現在visualstudio2008、C#を使い勤怠表を作成しています。データベースはmysqlです。
    >
    > テーブルアダプターでinsertクエリを作り実行できるようにしたいのですが、
    > クエリビルダを使い列とvaluesを指定して作成。

    それは具体的にどうやったのですか?

    「テーブルアダプター」というのは Visual Studio の「データソース構成ウィザード」か
    「TableAdapter 構成ウィザード」を使って自動生成した型付 DataSet + TableAdapter
    のことですよね?

    であれば、通常は以下のようにするのですが・・・

    10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
    http://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

    上記の例は、DB が SQL Server で、2 つのテーブルを扱っていますが、MySQL でテーブル
    が一つの場合でも、型付 DataSet + TableAdapter の作り方は基本的に同じですし、デー
    タソースウィンドウからドラッグ&ドロップすれば、コードは一行も書かずにアプリは完
    成できることも同じです。


    > ならテーブルアダプターのinsertメソッド?でやろうと思ったのですが、
    > 自動的には生成されておらず生成にチェックを入れてもできません。

    2 つのテーブルを JOIN した SELECT クエリやビューをベースに型付 DataSet + TableAdapter
    を作ると、更新関係のコードは自動生成されないと思います。

    その場合は、GenerateDBDirectMethods にチェックは入れられません。

    型付 DataSet + TableAdapter のソースファイルを開いて確認してみてください。
記事No.69565 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69573  Re[2]: テーブルアダプターのinsert
□投稿者/ todo -(2014/01/09(Thu) 16:32:36)
    2014/01/09(Thu) 16:46:06 編集(投稿者)

    No69570 (WebSurfer さん) に返信

    ご回答有難うございます。

    > それは具体的にどうやったのですか?

    データセットを設定しサーバーエクスプローラからドラッグ。
    データテーブルのテーブルアダプターからクエリの追加→インサートクエリ→クエリビルダで列とvaluesを指定。
    というような感じで作りました。
    一応プロパティのパラメータズからそれぞれの項目のSourceColumnとDbTypeを設定し直すと
    正常にデータベースに設定してある型でインサートできるようになりましたが原因がわかりません。


    > 2 つのテーブルを JOIN した SELECT クエリやビューをベースに型付 DataSet + TableAdapter
    > を作ると、更新関係のコードは自動生成されないと思います。
    >
    > その場合は、GenerateDBDirectMethods にチェックは入れられません。

    データセットの中には2つテーブルがありますが結合はしていません。

    説明がわかりづらくてすみません。
    よろしくお願いいたします。
記事No.69565 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69574  Re[3]: テーブルアダプターのinsert
□投稿者/ WebSurfer -(2014/01/09(Thu) 16:48:03)
    No69573 (todo さん) に返信
    > 2014/01/09(Thu) 16:46:06 編集(投稿者)
    >
    > ■No69570 (WebSurfer さん) に返信
    > 一応プロパティのパラメータズからそれぞれの項目のSourceColumnとDbTypeを設定し直すと
    > 正常にデータベースに設定してある型でインサートできるようになりましたが原因がわかりません。

    結局いろいろいじって原因不明のまま解決したということですか?
記事No.69565 のレス /過去ログ118より / 関連記事表示
削除チェック/

■69577  Re[4]: テーブルアダプターのinsert
□投稿者/ todo -(2014/01/09(Thu) 17:52:33)
    No69574 (WebSurfer さん) に返信

    そうですね。一応できるようにはなりました。
    普通は設定した時点で型は一致していますよね?
記事No.69565 のレス /過去ログ118より / 関連記事表示
削除チェック/

<前の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 | 33 | 34 | 35 | 36 >>

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

パスワード/

- Child Tree -