使用PHP获取本地PC中的ODBC数据源列表

发布于 2024-08-26 06:41:17 字数 58 浏览 0 评论 0 原文

我正在寻找一种使用 PHP 获取本地 PC 中的 ODBC 数据源列表的方法。 我怎样才能做到这一点?

I'm looking for a way to get a list of ODBC data sources in local PC using PHP.
How can I achieve that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可爱咩 2024-09-02 06:41:17

如果我假设您在 Windows 上运行

用户定义的 ODBC 连接存储在 HKEY_CURRENT_USER\Software\ODBC\ODBC.INI

下 系统定义的 ODBC 连接存储在 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC 下.INI

ODBC 驱动程序在 HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI 下定义,

因此您需要使用 php 的一些技巧来从注册表中读取 这个这个 a>

如果我假设您使用的是 unix/linux,则

用户定义的 ODBC 连接存储在 /etc/odbc.ini

系统定义的 ODBC 连接存储在 /home/username/.odbc 下.ini

ODBC驱动程序定义在/etc/odbcinst.ini下,

它们都是类似INI语法的文本文件。

If I assume that you're running on windows

User defined ODBC connections are stored under HKEY_CURRENT_USER\Software\ODBC\ODBC.INI

System defined ODBC connections are stored under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

ODBC drivers are defined under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI

So you need some trick with php to read from registry like this one or this one

If I assume that you are on unix/linux then

User defined ODBC connections are stored under /etc/odbc.ini

System defined ODBC connections are stored under /home/username/.odbc.ini

ODBC drivers are defined under /etc/odbcinst.ini

All of them are INI-like syntax text files.

如梦亦如幻 2024-09-02 06:41:17

PHP 内置了对 MySQL 的连接支持,因此不需要 ODBC 连接。 PHP 不支持的任何数据库环境都需要 ODBC。

PHP has built-in connection support for MySQL so a ODBC connection is not required. ODBC would be needed for any database environment not supported by PHP.

涫野音 2024-09-02 06:41:17
    define('HKEY_LOCAL_MACHINE', 0x80000002); 
    $computer = '.'; 
    $reg = new COM("winmgmts:{impersonationLevel=impersonate}!\\\\$computer\\root\\default:StdRegProv"); 
    $key_path = 'SOFTWARE\ODBC\ODBCINST.INI'; 
    $sub_keys = new VARIANT(); 
    $reg->EnumKey(HKEY_LOCAL_MACHINE, $key_path, $sub_keys); 

    foreach($sub_keys as $sub_key){ 
        echo $sub_key . "\n"; 
    }
    define('HKEY_LOCAL_MACHINE', 0x80000002); 
    $computer = '.'; 
    $reg = new COM("winmgmts:{impersonationLevel=impersonate}!\\\\$computer\\root\\default:StdRegProv"); 
    $key_path = 'SOFTWARE\ODBC\ODBCINST.INI'; 
    $sub_keys = new VARIANT(); 
    $reg->EnumKey(HKEY_LOCAL_MACHINE, $key_path, $sub_keys); 

    foreach($sub_keys as $sub_key){ 
        echo $sub_key . "\n"; 
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文