我的 Visual Studio 2005 C# 项目有问题。从星期一开始,我一直在 Windows XP 下使用它。然后我的笔记本电脑坏了,在我的新笔记本电脑上我有 Windows 7 64 位,我仍在使用 VS 2005。
源代码的编译没有问题,但是当我运行程序时,它在下面的行中中断
OdbcConnection cn;
cn = new OdbcConnection("dsn=My_dsn_name;");
我得到错误:
EnrtyPointNotFoundExcepition 未停止
无法在 DLL“kernel32.dll”中找到名为“InterlockedIncrement”的入口点
我正在尝试使用 PostgresODBC 64 位驱动程序连接 Postgres 8.4 数据库。
欢迎任何解决方案或解决方法。我需要强调的是,我正在构建的解决方案需要在 Windows XP 32 位下运行。
有关该问题的更新信息(来自我对评论的回复,但不仅如此):
- 当我尝试向我的 VS 项目添加新连接时,我收到消息ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains a architecture mismatch between Driver and Application。我使用 Windows 7 64 位,Postgres ODBC 64 位驱动程序版本。9.00.0200,Postgres 8.4 32 位。
- 我以前从未使用过Dependency Walker。但是我已经从\system32和\SysWOW64打开kernel32.dll并且InterlockedIncrement存在于两个文件夹的文件中。
- 我有一些TableAdapters,我用它们从 Postgres 中获取数据。这是我在使用WinXP时设置的,现在仍然有效。另一方面,当在 VS2005 中的TableAdapter属性中单击Data->CommandText旁边的“ ... ”时,它会显示一条消息 Failed to call the ODBC driver connection utility。
编辑:我在上面添加了第 1-3 点。