首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DB2连接到IBM DB2 10.1

从DB2连接到IBM DB2 10.1
EN

Stack Overflow用户
提问于 2018-02-23 19:21:41
回答 1查看 1.6K关注 0票数 0

我需要从一个DB2应用程序连接到IBMS10.1。我从一个控制台应用程序开始,让连接作为概念的证明。我使用的是IBM.Data.DB2命名空间。

我得到了以下错误:

代码语言:javascript
复制
 InvalidOperationException was unhandled: SQL1159  Initialization error with DB2 .NET Data Provider, reason code 2, tokens C:\Users\myname\Desktop\dbConnect\dbConnectApp\dbConnectApp\bin\db2app.dll, , Process Owner: XXXXX\myname

一开始我有处理器架构错误。我通过引用32位IBM.Data.DB2数据驱动程序中的DB2 dll,然后在Visual中的Configuration中将平台执行架构更改为x86来解决这个问题。

一些信息:

Visual 2012,.NET 4.5,DB2 10.1 on Windows 2008 R2

示例代码:

代码语言:javascript
复制
  static void SelectRow(string myConnectionString)
    { 
        if (myConnectionString == "")
        {
            myConnectionString = "server=MyServerName:60001;Database=mydatabasename;UID=db2admin;PWD=Mypassword1!;";
        }
        DB2Connection myConn = new DB2Connection(myConnectionString);
        string mySelectQuery = "Select * from DB_SCH.USER";
        DB2Command myDB2Command = new DB2Command(mySelectQuery);
        myDB2Command.Connection = myConn;
        myConn.Open();
        myDB2Command.ExecuteNonQuery();
        myConn.Close();
    }

可以做些什么来修复这个错误?从Db2连接到C#的其他方法有哪些?

编辑:在Visual项目中更改为64位版本的IBM.Data.Db2并更改为64位处理器体系结构后的新错误:

代码语言:javascript
复制
 SQL1159  Initialization error with DB2 .NET Data Provider, reason code 3, tokens C:\Users\myname\Desktop\dbConnect\dbConnectApp\dbConnectApp\bin\db2app64.dll, , Process Owner: xxxxx\myusername
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-24 09:40:40

您正在2008 Db2上使用Db2 V10.1的fixpack 0,全部为64位.

该Db2构建的日期早于Visual-Studio-2012,因此您将遇到问题,直到您部署了一个显式支持Visual-Studio-2012的Db2构建。

最好的方法是将DB2服务器升级到最后的补丁包V10.1,这是fixpack 6(在当前日期),可以从IBM网站下载。我建议您下载服务器修复包映像,并按照Db2知识中心步骤进行安装前步骤和安装后步骤。服务器-补丁包是可安装的,没有现有的安装(它将工作90天),这使您可以在开发环境中测试它,然后再提交到您的服务器。

在安装db2setup图形用户界面时,您需要显式地选择安装“”组件,该组件提供使用Visual-Studio-2012的外部插件。

从技术上讲,Visual-Studio2012的Db2 V10.1中的支持达到了V10.1FixPack 2,但是如果您必须麻烦地应用一个新的补丁包,那么您可以安装V10.1树的最后一个补丁包,仅仅是为了获得几年的bug修复。

另一种选择是将Db2的版本升级到V10.5或V11.1,但这将涉及到新的许可证,而安装补丁包将重复使用现有的许可证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48954841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档