gpt4 book ai didi

c# - 针对指定 *LIBL 而不是特定库的 AS400 执行 SQL

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:30 25 4
gpt4 key购买 nike

我需要对 AS400 上的文件执行基本 SQL(在本例中为插入)。我正在使用运行在 Windows 2008 上的 C# 编写一个胖客户端命令行应用程序。

如果我指定一个库和一个文件如下:

insert into somelibrary.somefile (col1,col2) values val1,val2

然后就可以了。问题是 somelibrary 的值会因用户和环境而异。我想使用库列表 *LIBL,这样它将以正确的顺序获取用户已分配的任何库。如果可能的话,我想避免使用配置文件。

与我一起测试的用户在他的库列表中有包含 somefile 的库。如果我尝试:

insert into somefile (col1,col2...) values val1,val2

我得到一个错误:

ERROR [42S02] [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0204 - somefile in username type *FILE not found.

我已经尝试在 SQL 和连接字符串中添加 *LIBL,但找不到文件。我已经尝试了很多组合,以及使用斜杠来分隔库和文件。

如果相关,连接字符串是:

Driver={Client Access ODBC Driver (32-bit)}; System=" + server + "; UID=" + DBUser + "; PWD=" + DBPassword + ";";

最佳答案

用于此请求的库列表是用于验证的用户配置文件的库列表。用户配置文件指向与库列表相关的两个项目:工作描述和初始程序。检查工作描述以查看图书馆列表是什么。可能,它不会有包含 SOMEFILE 的库。这留下了初始程序。如果在初始程序中设置了库列表,则会出现问题,因为初始程序仅在配置文件登录到终端 session 时才执行。

解决这个问题的方法是创建一个用户配置文件和职位描述,其中包含您需要的库列表。

关于c# - 针对指定 *LIBL 而不是特定库的 AS400 执行 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14457371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com