亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# .net Core 和 Oracle 設置編碼

C# .net Core 和 Oracle 設置編碼

C#
忽然笑 2021-07-06 17:49:12
在 web-api 項目中,.Net Core已Oracle通過以下方式連接到數據庫dotNetCore.data.OracleClient (nugget package)我從流水線函數中讀取數據,如下所示: using (DbConnection connection = new OracleConnection("oraclecs")) {    connection.Open();    using (var cmd = connection.CreateCommand()) {      cmd.CommandType = CommandType.Text;      cmd.CommandText = "select name from Table(SCHEMA.PACKAGE.FUNC(PARAM1=>1,PARAM2=>4))";      DbDataReader er = cmd.ExecuteReader();      while (er.Read()) {        string Name = er.GetValue(er.GetOrdinal(name: "name")).ToString();      }      connection.Close();    }  }俄語數據庫編碼的數據庫中的名稱NLS_CHARACTERSET是CL8MSWIN1251當我從字段中獲得價值時,name我看到 ???????? 而不是真實姓名也只是select在命令文本中通過Oracle SQL Developer返回正確的數據什么可以幫助我解決它?
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

我的 .net Core web-api 在 docker 中運行


我在文件 docker-compose.override.yml 中設置了 NLS_LANG=.CL8MSWIN1251 這對我有幫助


我的 docker-compose.override.yml 文件:


version: '3'


services:

  api:

    environment:

      - ASPNETCORE_ENVIRONMENT=Development

      - ORACLE_CS=Data Source = ip:port/sid;PERSIST SECURITY INFO=True;USER ID=user; Password=password;

      - NLS_LANG=.CL8MSWIN1251

    ports:

      - "5050:80"

networks:

  default:

    external:

      name: nat


查看完整回答
反對 回復 2021-07-10
  • 1 回答
  • 0 關注
  • 263 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號