2013-11-08 4 views
0

Пожалуйста, у меня есть серьезная проблема. Когда я хочу отлаживать свое приложение в visual studio, у меня есть эта ошибка в поле сообщения: «Ординал 133 не может быть расположен в библиотеке динамических ссылок LIBPQ.dll». эта dll принадлежит PostgreSQL 8.3.8. Обратите внимание, что я также использую ArcSDE 10. После этого он дает мне следующее сообщение в visual studio «Невозможно загрузить библиотеку сервера». Здесь есть код, который я использую для моего подключения к arcsde. Обычно это работало раньше в моих других приложениях.Не удалось загрузить библиотеку серверов, а также библиотеку динамических ссылок LIBPQ.dll

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"); 

    } 
} 

ответ

0

Я, наконец, нашел, где была проблема. При установке postgres я добавил путь к переменной среды. Поэтому он создал копию библиотеки postgress в папке windows32. Таким образом, между библиотеками существовало слияние. Поэтому я удалил путь в переменной окружения, и я удалил все librairies, созданные в папке win32. он работает очень хорошо сейчас :).