ここにそれを再現する方法です:System.Data.OracleClientおよび.Net Core 2:追加シンボルは何度か?
- 新しいコンソール.Net Core 2プロジェクトを作成します。
- NuGetからSystem.Data.OracleClientを追加します。
変更これでクラスプログラム:
class Program { const string testSql = @" SELECT extension, CASE UPPER (EXTENSION) WHEN 'DOC' THEN 'application/msword' WHEN 'DOCX' THEN 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' WHEN 'XLS' THEN 'application/vnd.ms-excel' WHEN 'XLSX' THEN 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' WHEN 'PPT' THEN 'application/vnd.ms-powerpoint' WHEN 'PPTX' THEN 'application/vnd.openxmlformats-officedocument.presentationml.presentation' WHEN 'EPS' THEN 'application/postscript' WHEN 'GIF' THEN 'image/gif' WHEN 'BMP' THEN 'image/bmp' WHEN 'JPG' THEN 'image/jpeg' WHEN 'MP4' THEN 'video/mp4' WHEN 'PDF' THEN 'application/pdf' WHEN 'PNG' THEN 'image/png' WHEN 'PSD' THEN 'image/vnd.adobe.photoshop' WHEN 'TIF' THEN 'image/tiff' WHEN 'TIFF' THEN 'image/tiff' WHEN 'ZIP' THEN 'application/zip' ELSE 'text/plain' END AS mime_type FROM ( select 'bmp' as extension from dual union all select 'jpg' as extension from dual union all select 'tif' as extension from dual union all select 'pdf' as extension from dual union all select 'zip' as extension from dual union all select 'gif' as extension from dual union all select 'txt' as extension from dual )"; const string _connString = "Data Source = mydatabase; User Id = myuser; Password=mypw;Min Pool Size=1;"; static void Main(string[] args) { using (var myconn = new OracleConnection(_connString)) { myconn.Open(); OracleCommand oc = new OracleCommand(testSql, myconn); using (OracleDataReader odr = oc.ExecuteReader(System.Data.CommandBehavior.Default)) { while (odr.Read()) { var s = odr.GetString(odr.GetOrdinal("MIME_TYPE")); Console.WriteLine($"Extension: {odr[0]} Mime type: {odr[1]}"); } } Console.ReadKey(); } } }
変更DB、ユーザとパスワードとプログラムを起動します。
私は何を取得することは、これは次のとおりです。で
Extension: bmp Mime type: image/bmp?
Extension: jpg Mime type: image/jpeg?
Extension: tif Mime type: image/tiff?
Extension: pdf Mime type: application/pdf
Extension: zip Mime type: application/zip
Extension: gif Mime type: image/gif?
Extension: txt Mime type: text/plain?
ルック '?'いくつかの行の最後に。 問題は次のとおりです。これはOracleクライアント上でエラーが発生しているか、System.Data.OracleClientにありますか?
名前空間 'System.Data.OracleClient'は([非推奨]されhttps://docs.microsoft.com/en-us/dotnet/framework/data/:
私たちを助け、この同様の記事を参照してください。 adonet/oracle-and-adonet)があります。あなたはそれを使用すべきではありません。サポートされ、さらに開発されたOracleプロバイダを使用する場合、同じ問題が発生しますか? –
@Wernfried .Net Core 2用のOracleプロバイダーはありません。オラクルがそれを実現するのを待っています。 .Net Standardに移植されるのはなぜですか? – Mottor
私には分かりませんが、マイクロソフト社になぜ開発が中止されたのか尋ねてください。マネージド・ドライバーには、[ステートメント・オブ・ディレクション:ODP.NET for Microsoft .NET Core](http://www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-ja/) core-sod-3628981.pdf) –