无法加载服务器库和动态链接库LIBPQ.dll

时间:2013-11-08 14:10:50

标签: c# postgresql postgresql-9.1 arcgis postgresql-8.4

请我在这里遇到严重问题。当我想在visual studio中调试我的应用程序时,我有这个消息框错误:“序号133无法位于动态链接库LIBPQ.dll”。这个dll属于PostgreSQL 8.3.8。请注意,我也使用ArcSDE 10.之后,它在visual studio中给出了以下消息“无法加载服务器库”。这里有我用于连接arcsde的代码。通常它在我的其他应用程序之前就可以工作了。

class sdeConnection
    {
        IWorkspace m_pWorkSpace;
        NpgsqlConnection m_pCnx;
        IFeatureWorkspace m_pFeatWorkSpace;
        ISqlWorkspace m_pSqlWorkSpace;
        string m_version;               

// Version of the database to be used for the update data
    public sdeConnection()
    {
        // ArcSDE Connexion 
        Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.SqlWorkspaceFactory");
        IWorkspaceFactory workspaceFactory = (IWorkspaceFactory)Activator.CreateInstance(factoryType);

        // create the connection to the database server
        IPropertySet pCnxProp = new PropertySet();
        pCnxProp.SetProperty("dbclient", "PostgreSQL");
        pCnxProp.SetProperty("serverinstance", "localhost");
        pCnxProp.SetProperty("instance", "5432");
        pCnxProp.SetProperty("authentication_mode", "DBMS");
        pCnxProp.SetProperty("database", "sde");
        pCnxProp.SetProperty("user", "sde");
        pCnxProp.SetProperty("password", "geoserver");

        // Creation of the workspace
        m_pWorkSpace = workspaceFactory.Open(pCnxProp, 0); **it gave the second error here (Server library could not be loaded)**

        // Npgsql Connextion 

        m_pCnx = new NpgsqlConnection("server=localhost;port=5432;database=sde;user=sde;pwd=geoserver");

    }
}

1 个答案:

答案 0 :(得分:0)

我终于找到了问题所在。安装postgres时,我将其路径添加到环境变量中。所以它在windows32文件夹中创建了一个postgress库的副本。所以图书馆之间有一种融合。所以我删除了环境变量中的路径,并删除了在win32文件夹中创建的所有库。它现在运作得非常好:)。