如何在AS400 ADO.Net连接字符串中转换CCSID 65535字符 - c#

我正在尝试进行设置,以便可以从AS400数据库读取二进制数据,而不必在每个选定的列上放置“ CAST(TABLE.COL AS CHAR(29)CCSID 37)COL”。每次都很难说,更不用说将列大小与C#代码耦合了(我想我可以将所有内容都转换为VARCHAR(9999),但是...)。

我以为可以通过ADO.Net的连接字符串来做到这一点。但是,在尝试阅读各种页面上的所有建议设置以使其正常工作之后,它们都给出了“ ConnectionString属性无效”的信息。错误。

我尝试了以下每种方法,但它们都给出相同的错误:

var connectionString = "DataSource=" + /*blah blah...*/ + 
//"; CCSID=37; TRANSLATE=1" +
//"; BinAsChar=true; CCSID=37;" +
//"; BinAsChar=true; CCSID=37; TRANSLATE=1" +
//"; BinAsChar=true; CCSID=37; Force Translate=1" +
//"; BinAsChar=true; CCSID=37; ForceTranslation=1" +
//"; CCSID=37; ForceTranslation=1" +
//"; ForceTranslation=1" +
//"; CCSID=37" +
//"; Host CCSID=37" +
//"; CharsetFor65535=0" +
//"; CCSID=EBCDIC" +
"";

有什么办法可以使它正常工作吗?还是我必须继续污染所有查询?

参考方案

自Redbook Mike参考发布以来,似乎有所增强。

在7.1 DB2 for i .NET Provider技术参考(作为Windows iAccess的程序员工具包组件或更新的ACS Windows应用程序包的一部分安装)中,有几个有趣的属性...

iDB2Connection.CharBitDataAsString属性
获取一个布尔值,该布尔值指示是否应将用CCSID 65535标记的字符位数据转换为字符串数据。

iDB2ProviderSettings.CharBitDataCcsid属性
当CharBitDataAsString属性设置为True时,指定用于转换iDB2CharBitData和iDB2VarCharBitData类型的CCSID。当CharBitDataAsString设置为False时,将忽略此属性。

sqlite ado.net提供程序-使用哪种最受欢迎​​? (例如phxsoftware,devart,mindscape) - c#

关于开始为Winforms应用程序在C#Visual Studio 2008中使用SQLite,似乎从sqlite网站必须下载sqlite ado.net提供程序,并且列出了很多(在sqlite wrappers的.net部分)问题-人们使用的最流行/最坚固的sqlite包装器是什么?列表中的一些似乎包括:phxsoftwaredevartmindscape…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…