C# PostgreSQL中的Workstationid属性?

C# PostgreSQL中的Workstationid属性?,c#,postgresql,C#,Postgresql,在这里,我需要获取一个字符串,该字符串标识使用带C#的PostgreSQL的数据库客户端。下面是一个例子 示例: private static void OpenNpgsqlConnection(string connectionString) { using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) { connection.Open(); C

在这里,我需要获取一个字符串,该字符串标识使用带C#的PostgreSQL的数据库客户端。下面是一个例子

示例

private static void OpenNpgsqlConnection(string connectionString)
{
     using (NpgsqlConnection connection = new NpgsqlConnection(connectionString))
     {
        connection.Open();
        Console.WriteLine("WorkstationId: {0}", connection.WorkstationId);
     }
}
'Npgsql.NpgsqlConnection' does not contain a definition for 'Workstationid'.
错误

private static void OpenNpgsqlConnection(string connectionString)
{
     using (NpgsqlConnection connection = new NpgsqlConnection(connectionString))
     {
        connection.Open();
        Console.WriteLine("WorkstationId: {0}", connection.WorkstationId);
     }
}
'Npgsql.NpgsqlConnection' does not contain a definition for 'Workstationid'.

您似乎是指
SQLConnection的MS-SQL特定属性。

这是MS SQL特定的属性。nPgSQL不存在它,当然您可以添加它

MSDN中的文档毫无用处,因此很难说出它的实际用途。随便猜一猜,我想您可能指的是类似PostgreSQL的东西—服务器从存储过程或函数中查找有关客户端信息的一种方式

客户端驱动程序或应用程序必须设置
应用程序名称
;没有自动设置为“网络名称”的内容。(如果客户端不是Windows box,这意味着什么?)。应用程序可以在连接字符串中或通过显式的
set
命令设置
application\u name

您还可以运行任意
SET
命令。例如,您可能决定将“工作站名称”存储在
myapp.workstationid
连接属性中。所以你:

SET myapp.workstationid = 'BOBSCOMPUTER';
在建立初始连接后,从您的应用程序

存储过程现在可以使用
当前设置('myapp.workstationid')
访问它


请注意,在这两种情况下,能够发送原始SQL的用户只需用他们想要的任何内容替换这些设置即可。所以不要为了安全而使用它们。

。。。这片土地应该从哪里来?你把它存放在哪里?确定数据库客户端的哪个方面?从哪里来?(您正在寻找
应用程序\u name
?)@Craig Ringer,在SQL Server中,它来自命名空间:
System.Data.SqlClient
和程序集:
System.Data In(System.Data.dll)
。我想知道它是否存在于PostgreSQL中?好吧,您的代码表明它不存在。如果你解释一下你真正想要达到的目标,也许会有所帮助。这意味着要解决什么问题。@Craig Ringer,上面的代码只是一个例子。实际上,我想知道“如何使用PostgreSQL中的属性WorkstationID(在SQL Server中)获取客户端的网络名称”?其中“网络名称”是Windows客户端主机名,如AD中的“mycomputer.clients.mycompany.com”?还是它的“我的电脑”部分?从何处获取-如果您在客户端上运行上述代码,那么您已经知道网络名称。那么代码应该在哪里运行呢?在PostgreSQL服务器上?这是无望的模糊。