我想我有所有的参数(由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用户的用户名
> ADMIN用户的密码
> AS / 400服务器IP地址
>“main”档案的名称,其中存储了我的数据(类似于ACG_DATV2)
第三个问题:我该怎么写我的查询?如何引用AS / 400“归档”和表?
我不知道如何构建我的阅读查询:表和视图(?!)在哪里存储,我如何引用它们?
先谢谢你!
解决方法
使用该版本的IBM ClientAccess(以及补丁),如果您使用正确的数据提供程序,我不应该在与sql Server 2008 R2链接服务器连接时遇到麻烦.
首先,尝试以这种方式配置您的链接服务器:
>链接服务器名称:你想要什么,它只是一个自定义名称(例如:MYAS400)
>提供者:IBM DB2 UDB for iSeries IBMDAsql OLE DB Provider
>产品名称:不重要,像iSeries Access OLEDB驱动程序
>数据源:AS / 400服务器IP地址(例如:192.168.0.1)
无论是使用向导还是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,也可以.
>性能…更好地谈谈别的东西:) …提取你的sql Server表中的表,并从那里查询它们!使用简单的方法:SELECT(Fields)INTO myTable FROM(AS / 400表)
>我已经尝试了这个过程很多次,我没有很多麻烦(一旦我熟练了…)…但只读取数据(如你所问)!从来没有尝试更新数据!
祝你好运!