Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
C# 按名称(和版本?)列出所有正在运行的SQL Anywhere*服务器*_C#_Sybase_Sqlanywhere - Fatal编程技术网

C# 按名称(和版本?)列出所有正在运行的SQL Anywhere*服务器*

C# 按名称(和版本?)列出所有正在运行的SQL Anywhere*服务器*,c#,sybase,sqlanywhere,C#,Sybase,Sqlanywhere,我希望能够获得所有正在运行的Sybase SQL Anywhere v10-16数据库服务器的名称和版本的列表 有没有一种内置的方法可以更好地在C中实现这一点 我正在考虑查找所有正在运行的SQL Anywhere server进程,然后pinvoking将标题/窗口标题从进程的一个主窗口中拉出不幸的是,process.MainWindowTitle不起作用,至少在服务器以隐藏方式启动时是这样。不在C中。有一个dblocate_servers_ex函数,可以从C/C++应用程序中使用,也可以生成d

我希望能够获得所有正在运行的Sybase SQL Anywhere v10-16数据库服务器的名称和版本的列表

有没有一种内置的方法可以更好地在C中实现这一点

我正在考虑查找所有正在运行的SQL Anywhere server进程,然后pinvoking将标题/窗口标题从进程的一个主窗口中拉出不幸的是,process.MainWindowTitle不起作用,至少在服务器以隐藏方式启动时是这样。

不在C中。有一个dblocate_servers_ex函数,可以从C/C++应用程序中使用,也可以生成dblocate实用程序并捕获输出,但仅此而已

dblocate实用程序(仅供参考)不进行任何TCP连接。它发送SQLAnywhere服务器响应的广播数据包,然后列出响应

注意,-sb0开关的作用是使使用dblocate查找服务器变得不可能。如果有可能找到它,开关将是无用的


充分披露:我在SQL Anywhere工程公司为SAP工作。

大概您没有让服务器注册到LDAP?如果不是,我认为唯一的方法是尝试端口2638连接到所有主机-这是我相信dblocate实用程序可以执行和捕获的功能。我希望找到所有运行SQL Anywhere的服务器,即使是那些使用-sb 0启动的服务器。好的,因此,检查正在运行的进程windows的标题听起来似乎是最简单的方法。DBLOCATE是否列出网络上任何计算机或执行命令的计算机上的IQ数据库?DBLOCATE将列出它从本地网络上任何位置找到的服务器-任何可以从网络接收UDP广播的计算机执行它的计算机。交换机、网桥等另一端的计算机将不会接收广播数据包,因此这些计算机上运行的服务器将不会响应。@GraemePerrow非常感谢您的回复。但是DBLOCATE没有限制执行命令的同一台计算机的枚举的开关。是这样吗-s可用于指定本地计算机名称,但我的尝试没有显示IQ数据库正在运行。s开关按服务器名称(即数据库服务器的名称,而不是计算机名称)筛选找到的服务器。您可以将一个参数传递给dblocate,该参数是一个机器名或IP地址,即dblocate 127.0.0.1,它将通过machin ename过滤响应。仅供参考,您可以在sqlanywhere-forum.sap.com上获得更多有关SQL Anywhere的帮助。那你就不指望我经常检查StackOverflow了