我正在尝试使用IBM本机OLE DB提供程序连接到DB2数据库。此连接器的默认行为是将varchar,char和text数据视为OLEDB type = DT_WSTR
(unicode)
编辑:我为什么需要这个?
需要这样做,以防止必须在SSIS中对从DB2数据库遇到的每个字符串列进行手动数据转换(从DT_WSTR
到DT_STR
)。在我的用例中,有数百个(如果不是数千个)实例。
编辑:DB2的哪个版本? = DB2 v11.1.3.3
我一直在IBM帮助文档和论坛中搜索有关如何更改连接的答案,以便它默认将字符串/ varchar数据设置为DT_STR
(ansi,1252)。
似乎我可以在连接字符串中使用一些有用的关键字,但我的所有跟踪操作均未成功...
我尝试过的连接字符串...
Data Source=<<source_removed>>;User ID=<<user_removed>>;Provider=IBMDADB2.DB2COPY1;Persist Security Info=True;Location=;UNICODE=FALSE;CLIENT_LOCALE=en_US.CP1252;DB_LOCALE=en_US.819;Extended Properties=REPORTSTRINGASWSTRING=FALSE;
Data Source=<<source_removed>>;User ID=<<user_removed>>;Provider=IBMDADB2.DB2COPY1;Persist Security Info=True;Location=;CLIENT_LOCALE=en_US.CP1252;DB_LOCALE=en_US.CP1252;Extended Properties=REPORTSTRINGASWSTRING=FALSE;
Data Source=<<source_removed>>;User ID=<<user_removed>>;Provider=IBMDADB2.DB2COPY1;Persist Security Info=True;Location=;UNICODE=FALSE;Extended Properties=REPORTSTRINGASWSTRING=FALSE;
在DB2中将源列定义为...
并且DB2语言环境为En_US
PARN_LOCN_RM_CD VARCHAR(15),
PARN_LOCN_RM_DESC VARCHAR(255),