trapemiyaの日記

hatenablogが新しくなったんで新規一転また2019年1月からちょこちょこ書いてます。C#中心のプログラミングに関するお話です。

2020-02-01から1ヶ月間の記事一覧

Crystarl Reportsのバージョンアップでハマる・・・

Visual Studio 2019で久しぶりにCrystal Reportsをいじると、何やら動作がおかしい。コンテキストメニューが2、3回ほどは普通に出るが、そのうち出なくなる。で、そのうちにVisual Studioの操作自体も固まったようになる。完全に固まってはいないのだけれ…

【Visual Studio 2019】Version 16.4.5に上げたら勝手に「マイコードのみを有効にする」のチェックが外れた

先ほど、Visual Studio 2019をVersion 16.4.5に上げたところ、デバックのオプションである「マイコードのみを有効にする」のチェックが勝手に外れ、以下の問題が再発。 突然、デバッグでアプリが動かなくなるから一瞬焦りました。 System.IO.FileNotFoundExc…

【Visual Studio】IAをPIAに変更してC#からExcelを操作できるようにする。Visual Studio 2008のプロジェクトをVisual Studio 2019へ

IAでExcelを操作しているVisual Studio 2008のプロジェクトをVisual Studio 2019に持ってくる。コンパイルはできるけど、Excelを操作するところで実行時エラーとなる。 「ファイルまたはアセンブリ 'Interop.Office, Version=2.1.0.0, Culture=neutral, Publ…

【Visual Studio 2019】コードエディタのコンテキストメニューに「このアイテムのフォルダーを開く」コマンドの追加

コードエディタで編集している際に、そのソースファイルがあるフォルダを開きたい場合があります。以下の記事で書いたように、 【Visual Studio】ソシューションエクスプローラーでファイルを選択し、そのファイルがあるフォルダをエクスプローラーで開く ht…

【C#】エラー CS7036 Hoge.Fuga(string 引数)' の必要な仮パラメーター '引数' に対応する特定の引数がありません。

以下のクラスを作成して、 public class Fuga { public Fuga(string param1) { this.param1 = param1; } public string param1 { get; set; } } 以下のように利用しようとすると、 var fuga = new Fuga {param1 = "あああ"}; エラー CS7036 Hoge.Fuga(string…

【Visual Studio】ソシューションエクスプローラーでファイルを選択し、そのファイルがあるフォルダをエクスプローラーで開く

意外に知らない人がいるんじゃないかと思ってTips。 Visual Studioのソシューションエクスプローラーでファイルを選択し、そのファイルがあるフォルダをエクスプローラーで開くショートカットは、デフォルトで CTRL + O です。 ファイルを開くのショートカッ…

タスクスケジューラーからタスクの手動実行で「ユーザーアカウントにこのタスクを実行するアクセス許可がありません」の対処法

タスクスケジューラ―の画面からタスクを手動実行させようとしたところ、「ユーザーアカウントにこのタスクを実行するアクセス許可がありません」というエラーが出て実行できない。 Administratorでログインしているのにもかかわらずである。 ネットを漁ると…

SQL Server リンクサーバーへアクセスする際のライセンスは?

SQL Serverでリンクサーバーとして設定してあるデータベースへのアクセスのライセンスが気になって確認してみた。日本マイクロソフトと日本オラクルに確認したところ、SQL ServerもOracleも、間接アクセスであっても直接アクセスと同等のライセンスが必要と…

【SQL Server】TRANSLATE的な関数を作ってみる

SQL Server 2017からTRANSLATE関数が導入されたことはご存じだろうか? Oracleなんかには以前よりあったから、よほど要望が強かったんでしょうね。 で、実際にTRANSLATE関数を使いたいけどSQL Server 2016以前が本番環境で動いていることもまだまだたくさん…

OPENQUERYの結果を変数に入れる

OPENQUERYの結果を変数に入れるには、次のようにOUTPUTを付けた変数を定義し、それに渡します。 declare @rowcnt int; set @sqlwk = 'select @rowcnt = count(*) from openquery(edpsrd, '' select 契約番号 from mine.dbo.契約テーブル where 契約番号 = ''…

WPFのコマンドボタン等の表示で改行する方法のまとめ

WPFのコマンドボタン等の表示で改行する方法として、まずXAMLだと以下の5つの方法を思いつきます。 ■1つめ 改行位置に&#xa;を使う <Button Text="1行目の文字列&#xa;2行目の文字列" />■2つめ 改行位置に&#10;を使う <Button Text="1行目の文字列&#10;2行目の文字列" />■3つめ 改行位置に&#13;を使う <Button Text="1行目の文字列&#13;2行目の文字列" />■4つめ <LineBreak />を使う <Button> <TextBlock>1行目の文字列<LineBreak />2行目の文字列</TextBlock>…</button></linebreak></button></button></button>

Windows FormアプリケーションからWPFのWindowを開いた際にTextBoxで半角入力ができない、カーソルが効かない

過去に作成したWindows Formアプリケーションの機能アップをすべく、その部分はWPFで作成してます。 さて、問題にぶつかりました。Windows FormアプリケーションからWPFのWindowを開いた際に、そのWindowのTextBoxではなぜか半角入力を受け付けてくれません…

【SQL ServerからOracleへのリンクサーバー】列’xxx’に必要なデータ長に一致しないデータが返されました。必要な (最大) データ長は xxですが、返されたデータ長は xx です。

SQL ServerからOracleへのリンクサーバーを設定している状態で、例えば以下のSQLを実行すると次のエラーが出る。 select * from openquery(edpstv, 'select ''有'' as 有無 from BSS.契約 ') リンク サーバー 'edpstv' の OLE DB プロバイダー 'OraOLEDB.Ora…

SQL Server リンクサーバーにあるユーザー関数は呼び出せない

リンクサーのユーザー関数を使おうとすると、 「リモート関数参照 ・・・は許可されておらず・・・」のようなエラー出る。下記によれば、リンクサーバーにあるユーザー関数は呼び出せない仕様のようだ。Call User-defined Function on Linked Server :SQL Se…

order by句でcase式

order by句でcase式が使えることに気づいていない人が割と多い。 例えば以下の例では、通常は、 A, B, C, SA と並ぶところを、 SA, A, B, C と並び変えている。 order by case ランク when 'SA' then 1 else 2 end, case ランク when 'A' then 1 else 2 end,…

OracleとSQL ServerのSQLを同時に書いているとついnullの処理でうっかりしてしまう・・・

SQL Serverで、nullの場合に他の値に置き換える関数は、isnull。Oracleは、nvl。 まぁ、これは簡単なことなんだが、nullの時に空文字に置き換えようと、SQL Serverで以下のように書いていると isnull(A項目, '') つい、Oracleでも、 nvl(A項目, '') と書い…