gpt4 book ai didi

sql-server - 如何获取隐藏数据库的数据库模式?

转载 作者:行者123 更新时间:2023-12-02 15:51:41 25 4
gpt4 key购买 nike

我的客户是一家 dentry 诊所,购买了一款诊所管理软件。该软件安装在他们的本地服务器上,包括患者数据库、时间表和各种医疗记录。现在他们希望我为他们编写一些他们的软件包中未提供的实用程序,为此我需要能够查询此数据库。

我尝试调用软件制造商的技术支持 ( Patterson/EagleSoft ),但很难找到足够了解该技术的人来回答我的问题。据我所知,他们的软件没有 API,并且可以理解的是,他们不愿意告诉我如何以编程方式直接查询数据库。他们确实有一个交互式查询窗口,但显然这对于​​编写自动查询没有好处。他们所透露的只是某个地方有一个 SQL Server DB,但连接到它的 ODBC 驱动程序是 SQL Anywhere 驱动程序(嗯?)。

所以我在服务器上搜索,找不到任何数据库文件。然后我发现安装创建了某种专有虚拟机,该虚拟机仅对 EagleSoft 软件可见。但是,虽然他们非常擅长在混淆层中隔离数据库,但他们仍然开放 ODBC 驱动程序,这实际上是 SQL Anywhere 连接。

现在,在引人入胜且冗长的序言之后,我的问题是:我可以通过此 ODBC 连接运行哪些查询来询问数据库的结构?如果它下面是 SQL Server DB,我可以使用 sysobjects 表,但我不完全掌握如何使用 SQL Anywhere ODBC 连接来连接到 MSSQL DB。如果他们误导了我,而它实际上是一个 SQL Anywhere 数据库,那么需要运行哪些查询来获取数据库结构?

如果还有其他人曾经成功地实际查询过 EagleSoft(或任何类似的专有软件包) - 请告诉我你是如何做到的!

最佳答案

事实证明,最简单的方法是使用 OdbcDbConnection 编写一个小应用程序,并使用随软件安装的 DSN 进行连接。经过一次探测'select * from sysobjects'才发现它确实是一个 MS-SQL 数据库,我很高兴从那里开始!

关于sql-server - 如何获取隐藏数据库的数据库模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420953/

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