请我在这里遇到严重问题。当我想在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");
}
}
答案 0 :(得分:0)
我终于找到了问题所在。安装postgres时,我将其路径添加到环境变量中。所以它在windows32文件夹中创建了一个postgress库的副本。所以图书馆之间有一种融合。所以我删除了环境变量中的路径,并删除了在win32文件夹中创建的所有库。它现在运作得非常好:)。