Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database DB2数据库名称是否区分大小写_Database_Jdbc_Db2 - Fatal编程技术网

Database DB2数据库名称是否区分大小写

Database DB2数据库名称是否区分大小写,database,jdbc,db2,Database,Jdbc,Db2,在DB2中,我创建了名为“SAMPLE”的数据库。而且,在连接Razor DB2客户机时,它可以连接到“SAMPLE”数据库,而不区分大小写 比如说, jdbc:db2://localhost:50000/sAmple jdbc:db2://localhost:50000/Sample jdbc:db2://localhost:50000/saMple jdbc:db2://localhost:50000/SAMPLE 它们都可以连接到DB2。但当我使用它们获取结果时,只有示例数据库才能显示结果

在DB2中,我创建了名为“SAMPLE”的数据库。而且,在连接Razor DB2客户机时,它可以连接到“SAMPLE”数据库,而不区分大小写

比如说,

jdbc:db2://localhost:50000/sAmple

jdbc:db2://localhost:50000/Sample

jdbc:db2://localhost:50000/saMple

jdbc:db2://localhost:50000/SAMPLE


它们都可以连接到DB2。但当我使用它们获取结果时,只有示例数据库才能显示结果。我想知道如何只使用区分大小写的'SAMPLE'数据库名连接到DB2。

DB2数据库不区分大小写
SAMPLE=SAMPLE=SAMPLE
。然而:

  • 有些工具需要大写字母才能工作。它们可能会考虑实例目录(
    db2listdb目录
  • 对于内部标识,数据库名称更改为大写,并像这样存储在数据库目录中。任何使用数据库名称的函数都应该是大写的

此行为类似于表。例如,
EMPLOYEE=EMPLOYEE
,但该表在数据库目录中存储为
EMPLOYEE
。但是,您可以通过引号强制使用小写名称,如
“employee”
,但这被认为是一种不好的做法。另一方面,数据库名称并没有保留大小写,而是用引号括起来。

您能解释一下“当我获取结果时,只有样本数据库才能显示结果”的意思吗?“从表中选择*(SNAP_GET_BP(CAST(NULL为varchar(255)),-1)),其中db_name='SAMPLE'可以显示结果。而不是从表中选择*(SNAP_GET_BP(CAST(NULL为varchar(255)),-1)),其中db_name='sample''无法显示结果。但它可以成功连接到样本数据库。在将db_name的参数移交给sql之前,请先转换它,或者使用
upper
ucase
函数,如
其中db_name=upper('sample')