sql-server – 从Sql Server 2008 R2连接到IBM i服务器
我有一个很大的交易:我必须连接(我只想读取数据,不写)给我的客户的IBM AS / 400(又名iSeries,现在I??BM i)服务器…
我想我有所有的参数(由AS / 400程序员给我),但是我不知道我要使用哪个驱动程序,如果我需要所有的软件, 我已经安装了IBM AS / 400 ClientAccess 5.8驱动程序(使用最新的操作系统的补丁),现在我试图在我的Sql Server 2008 R2(x64)服务器中配置一个新的Linked Server. 第一个问题:我应该使用哪个驱动程序? 我有这么多的选择(但也可能没有这些作品!!): IBM DB2 UDB for iSeries IBMDASQL OLE DB Provider IBM DB2 UDB for iSeries IBMDA400 OLE DB Provider IBM DB2 UDB for iSeries IBMDARLA OLE DB Provider …或者其他通用的OLEDB / ODBC驱动程序? 第二个问题:我应该把我的参数放在哪里(我的意思是哪个字段) 在任何情况下,在我选择一个提供者为我的链接服务器,显然我必须设置我的参数…但我只有这样: > ADMIN用户的用户名 第三个问题:我该怎么写我的查询?如何引用AS / 400“归档”和表? 我不知道如何构建我的阅读查询:表和视图(?!)在哪里存储,我如何引用它们? 先谢谢你! 解决方法我想有很多方法可以达到你想要的目的,但是我会尝试解释一下你会做什么.使用该版本的IBM ClientAccess(以及补丁),如果您使用正确的数据提供程序,我不应该在与Sql Server 2008 R2链接服务器连接时遇到麻烦. 首先,尝试以这种方式配置您的链接服务器: >链接服务器名称:你想要什么,它只是一个自定义名称(例如:MYAS400) 无论是使用向导还是SQL代码配置链接服务器,首次需要访问AS / 400服务器的数据时,都会向您询问凭据,并使用典型的iSeries窗口(请参阅我的示例). 设置您的用户名(用户名)和相对密码,而不考虑字符串的情况! 作为一般的提示(但这只是与我的经验有关!),尽量避免特殊字符和上下限的区别… 如果你到达这里(在链接服务器创建中没有问题),链接服务器应该工作(所以第一个和第二个问题都解决了):让我们构建第一个查询! 一旦创建了链接服务器,您需要的只是正确地引用存档,库,当然还有正确的表和链接服务器(按名称):使用此信息,构建一个这样的查询(这是通常的T-SQL语法): SELECT (Field1),(Field2),* FROM (Linked Server Name).(Catalog Name).(Library).(TableName) 您可能缺少的唯一信息是“归档”:您可以轻松找到它在新的链接服务器中浏览目录树,或只使用iSeries Access Navigator工具! 所以,在你的情况下,我认为查询应该是(或多或少): SELECT FILIO,DTVLD,DTVLA,SEQZA,CFIMP,PADRE,TPVLD,CMVLD,* FROM MYAS400.S242DA0A.ACG_DATV2.ANLE200F 请注意,S242DA0A仅在我的情况下有效… 还要记住: > AS / 400可能会经常询问您的凭据:如果您关闭并重新打开SSMS,也可以. 祝你好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |