我是 DB2 的新手,正在使用 unixODBC 和适用于 Linux 的 IBM i Access ODBC 驱动程序连接到 DB2 for i (V7R1) 数据库。
当我查询数据库时,结果只包括列名的首字母。例如,使用该isql
实用程序运行的典型查询将给我如下所示的内容:
SQL> SELECT column1, column2 FROM schema.table WHERE column1 = 12345
+--------+---------------------------------+
| C | C |
+--------+---------------------------------+
| 12345 | Lorem ipsum dolar sit |
+--------+---------------------------------+
SQLRowCount returns -1
1 rows fetched
这对我来说是个问题,因为当我尝试在应用程序中查询数据库时(例如使用pyodbc
Python 库),我无法通过列名访问结果;两列在结果集中都被命名为“C”。
我的问题是:
- 为什么会这样?
- 是否有可能改变这种行为?(如何?)
编辑:
即使我尝试给列别名也会发生这种情况:
SQL> SELECT column1 as foo, column2 as bar FROM schema.table WHERE column1 = 12345
+--------+---------------------------------+
| F | B |
+--------+---------------------------------+
| 12345 | Lorem ipsum dolar sit |
+--------+---------------------------------+
SQLRowCount returns -1
1 rows fetched