Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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 如何检测数据库类型?_Database_Types_Detection - Fatal编程技术网

Database 如何检测数据库类型?

Database 如何检测数据库类型?,database,types,detection,Database,Types,Detection,我需要确保连接到的数据库是MySQL,而不是PostgreSQL或Microsoft SQL Server。如何确定使用的是哪种类型的数据库。第一个提示可能是,如果尝试使用MySQL数据库驱动程序连接到PostgreSQL数据库,可能会出现“连接错误”: 基本上,您需要: 1) 以可移植的方式编写应用程序(例如,不要在可能在mySql上运行的查询中使用MSSQL扩展) 2) 选择一个可移植的驱动程序API(如JDBC、ODBC、ADO.Net等) 3) 为应用程序提供某种机制,以便在运行时查询实

我需要确保连接到的数据库是MySQL,而不是PostgreSQL或Microsoft SQL Server。如何确定使用的是哪种类型的数据库。

第一个提示可能是,如果尝试使用MySQL数据库驱动程序连接到PostgreSQL数据库,可能会出现“连接错误”:

基本上,您需要:

1) 以可移植的方式编写应用程序(例如,不要在可能在mySql上运行的查询中使用MSSQL扩展)

2) 选择一个可移植的驱动程序API(如JDBC、ODBC、ADO.Net等)

3) 为应用程序提供某种机制,以便在运行时查询实际的数据库类型(例如,一个.config属性文件)

4) 针对每个受支持的数据库类型测试已完成的应用程序


“希望有帮助。。PSM

您可以在尝试连接的主机上检查正在运行的数据库进程

例如:
ps-ef | grep mysql

根据您的评论判断,您有一个类似SQL CLI的界面,或者您只能执行SQL查询,您想知道是不是一个mysql服务器在回答您的查询

你可以用

SELECT @@version_comment

如果是MySQL服务器,它将返回类似于MySQL社区服务器的内容!可以在不知道数据库类型的情况下连接到数据库。例如,我为一个叫xactly的供应商工作。它们的数据库链接为xactly..com,jdbc链接为xactly.jdbc.com。我可以使用驱动程序很好地连接到实例,但仍在尝试查找数据库类型

您如何连接到数据库?如果它已经连接了怎么办?是否有任何查询来确定该数据库是mysql?都德-如果您的应用程序一开始不知道正确的数据库类型,那么它就不会连接。会吗?但在任何情况下,大多数驱动程序API(同样是ODBC、JDBC、ADO.Net——所有常见的可疑对象)通常都有一种机制来查询有关所连接服务器的详细信息。是我还是他听起来像是mysql入侵者/注入尝试?你说得对,谢谢你的帮助,是的,它的注入尝试是出于教育目的