Archive

Archive for the ‘プログラミング’ Category

気になるAdvent Calendar 2016

カテゴリー:プログラミング, メモ

ODAC 12c Release 4 Visual Studio 2015対応とスキーマ比較の機能追加

ODAC 12c Release 4がダウンロード可能になっています。

OTNダウンロードページ:

http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

NuGet

 https://www.nuget.org/profiles/Oracle

 

今回のリリースはVisual Studio 2015への対応とマネージドドライバの機能拡張がほとんどなようですが、個人的に注目すべきはoffline schema comparisonです。

ODAC 12c Release 2で追加されたスキーマ比較はDatabase To Databaseだけだったのですが、今回追加されたOracle Database Project Version2(Beta)を利用すると、Database To Projectまたは、Project To Projectのスキーマ比較とスキーマの更新が利用できます。

キャプチャ 

サーバーエクスプローラーでの表の見え方が変わっています。関連表、、、まぁわかるけれど、、、

キャプチャ2

スキーマの比較を選択すると、データベース接続とプロジェクトを選択可能です。

古いデータベースプロジェクトには対象にできないようです。

image

Betaの悲しさか、サーバーエクスプローラーからデータベースプロジェクトへにインポートができないです。まぁスキーマ比較で入れれば良いんですけれど、、、

Betaが取れるのは何時かな。。。

カテゴリー:Oracle, Visual Studio

ASP.NET WebAPIをVB.NETで利用する場合に、ヘルプページのコメントを利用する。

ASP.NETではVB.NETの積極的なサポートがなくなりつつ有るこの頃ですが、うちのちかくではVB.NETの要望が収まらず、VB.NET+WebAPIでアプリを作っています。

この頃のVisual StudioのWebAPIプロジェクトでは、APIのヘルプページを自動的に作成する機能が提供されていますが標準のままだと、ドキュメンテーションコメントを書いてもDescriptionに反映してくれません。

検索すると、Areas/App_Start/HelpPageConfigの下記コメントを外せという指示とともにWebプロジェクトのビルド設定で、ドキュメンテーションコメントを吐き出す場所を設定しろという記事が目につきます。

Public Sub Register(config As HttpConfiguration)
    '' Uncomment the following to use the documentation from XML documentation file.
    'config.SetDocumentationProvider(New XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")))

 

C#のWebプロジェクトのビルドプロパティー

image

VB.NETのWebプロジェクトのコンパイルプロパティー

image

ところがVB.NETのASP.NETプロジェクトではこの項目がありません。ただ、VB.NETのプロジェクトファイルにもProject/PropertyGroup/DocumentationFile要素はあるのでこいつにパスを指定すれば大丈夫だろ。と思ったのですが、、、出てくれません。無視されるようです。。。

ただ、まぁ指定のフォルダーにドキュメンテーションコメントがコピーされればいいので、ビルド後イベントを使ってあげましょう。

image

copy "$(ProjectDir)bin\$(TargetName).xml" "$(ProjectDir)App_Data\"

カテゴリー:ASP.NET, Visual Basic

.NET Fiddle

久々にRSSを眺めてたら見つけました。

いつのまにやらこんなものがあったんですね。

時たまカーソルがおかしくなるけれど、インテリセンスもしっかりしていて良いと思います。

https://dotnetfiddle.net/

キャプチャ

サポートしている言語は「C#,VB.NET、F#」と何かとハブられているVB.NETが入っていてポイント高いです。ただ、VB.NETはちょっと構文チェックがきつい気もする。

プロジェクトのタイプはこんな感じです。まぁサーバー側で動作するので今のところWinodowsアプリは実行できないみたいですね。

image

Visual Studio 2013でセットアッププロジェクトをビルドする。

この頃お仕事でも本格的にVisual Studio 2013を使うようになってきた(遅!!)んだけれど、以前Visual Studioのセットアッププロジェクトを使ってセットアップを作っていたプロジェクトをロードするとセットアッププロジェクトが非推奨となりセットアップのビルドができなくなってしまった。

InfoQの記事「Visual Studioのセットアッププロジェクトが復活」を参照すると、Visual SutdioギャラリーMicrosoft Visual Studio Installer Projectsをダウンロードしてインストールするか、「拡張機能と更新プログラム」からセットアップができるらしい。というかできた。

image

image

カテゴリー:Visual Studio, Windows

OraOps12.dllが見つからないと思ったら、MSVCR100.dllがなかった

Oracleに接続するWebサーバーを改めて構築しているわけですが、Oracleクライアントを入れるのもめんどくさい。ただ、これまでのしがらみがあってマネージドドライバーが使えないため、インスタントクライアントを利用することにしました。

いざデプロイしたサイトを実行すると、OraOps12.dllがないエラーでしばらくはまったのでメモ。

ODACをダウンロード

現在の最新版をOTNからダウンロード(現在は12.1.0.2.1)して、C:\install\odacあたりに解凍します。

http://www.oracle.com/us/products/tools/index-090165.html

インスタントクライアントのセットアップ

解凍したODACのフォルダーに移動して、allでinstant Clientをセットアップします。

cd C:\install\odac

install.bat all c:\oracle myorahome true

環境変数の設定

必要な環境変数を設定します。NLS_LANGは環境に合わせて。

  環境変数名 設定値 備考
1 PATH c:\oracle/bin;c:\oracle binを先にする?
2 NLS_LANG JAPANESE_JAPAN.JA16SJISTILDE 必要な場合

動作確認

Webアプリケーションをデプロイして動かしたらこうなった。

System.TypeInitializationException: ‘Oracle.DataAccess.Client.OracleConnection’ のタイプ初期化子が例外をスローしました。
—> System.DllNotFoundException: DLL ‘OraOps12.dll’ を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E)
場所 Oracle.DataAccess.Client.OpsInit.CheckVersionCompatibility(String version)
場所 Oracle.DataAccess.Client.OracleInit.Initialize()
場所 Oracle.DataAccess.Client.OracleConnection..cctor()

— 内部例外スタック トレースの終わり —
場所 Oracle.DataAccess.Client.OracleConnection..ctor(String connectionString)
場所 LoginProcess.Load(String domain)
場所 Login.Page_Load(Object sender, EventArgs e)
場所 System.Web.UI.Control.LoadRecursive()
場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)()

調査中

しょうがないのでConsoleApplicationでDUAL表を検索するおなじみのサンプルを作る。ん?

image

コンピューターに MSVCR100.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。

Microsoft Visual C++ 2010 再頒布可能パッケージ (x64)のインストール

ダウンロードセンターからダウンロードしてインストールします。

http://www.microsoft.com/ja-jp/download/details.aspx?id=14632

 

無事動きました。

カテゴリー:ASP.NET, Oracle タグ:

ついにこの時が、、、No More WebForms, No More Visual Basic

Top 10 Changes in ASP.NET 5 and MVC 6

いや、わかってたんですよ。わかってはいましたが、、、

No More Web Forms

You can continue to build Web Forms apps in Visual Studio 2015 by targeting the .NET 4.6 framework. However, Web Forms apps cannot take advantage of any of the cool new features of ASP.NET 5 described in this list. If you don’t want to be left behind as history marches forward then it is finally time for you to rewrite your Web Forms app into ASP.NET MVC.

超意訳

引き続きVisual Studio 2015でも.NET 4.6を選択すればWebFormsのビルドを行うことができます。しかし、ASP.NET WebFormsではASP.NET 5の新機能を利用することはできません。これはASP.NETの進化に取り残されたくない場合ASP.NET WebFormsアプリをASP.NET MVCアプリに書き換えるための猶予期間なのです。

カテゴリー:ASP.NET, Visual Basic タグ: