2012-09-21 48 views
4

我想從Visual C++ 2010 Express訪問Postgres數據庫。我在我的機器上都有,但SQL調用根本不起作用。我搜查了很多網站。我認爲這個版本的Express沒有像非快速版本(尤其是Visual C++ 2008)的默認數據庫連接。鏈接到並使用libpq與Visual C++ Express 2010

我唯一能找到的是以下鏈接,並且我對Visual C++ Express的Project Properties區域進行了修改。

http://www.askyb.com/cpp/c-postgresql-example/

當我嘗試運行在該網站,我得到這表明它無法找到的功能錯誤的C++代碼。

你對我做錯了什麼有什麼想法嗎?使用Visual C++ Express 2010以外的其他程序連接到postgres數據庫會更好嗎?其他Express版本之一?常規(非快速)Visual C++?

感謝

+0

Visual C++ Express 2010已經夠用了。在[pgstream](https://github.com/manitou-mail/pgstream)中爲我工作,基本上和你提到的教程一樣。您應該向您的問題添加從Visual複製粘貼的實際錯誤消息。 –

+0

你的問題表明你的系統沒問題,但運行時間過了kerflush,是否準確(你能提供你看到的錯誤信息)? – WhozCraig

+0

請顯示您的項目配置(或提及libpq的任何部分)和任何錯誤消息的*精確文本*。複製並粘貼它們。 –

回答

2

如果您使用PostgreSQL和libpq,您可能也有興趣libpqtypeslibpqxx。第一個提供了對libpq數據值的大大簡化的訪問,後者提供了一個更友好的C++接口。

至於錯誤,最有可能的:

  • include路徑或鏈接庫路徑是錯的,如果它是在編譯時或鏈接時失敗;或
  • 如果在運行時失敗,PATH不包含libpq。
1

最有可能的(你沒有提供任何實際的錯誤消息)問題是您的設置。您需要添加正確的頭(「包含」)目錄和庫目錄;如果您只是從一些教程中複製它們,請確保它們實際指向這些文件(分別爲.h和.lib文件)的真實位置。

+0

我認爲他編寫的很好。在閱讀他的問題後,他似乎遇到了運行時問題(即如果他使用非靜態庫構建模型,他的程序可能沒有支持DLL的路徑。) – WhozCraig

1

你需要做的重新編譯MSVC libpq的(NMAKE/F win32.mak全部),在這之後,你需要設置你的項目中使用該庫,並更改公共語言運行庫支持(/ CLR)而不是clr /純粹。

+0

感謝您的建議!它的確行不通。使用postgres 9.2,所以在目錄中有一些小的變化,但我不需要重新編譯libq。9.2可能有一個用於windowws的。 – Jim

相關問題