Я пытаюсь соединить базу данных с программой c ++, используя интерфейс OCILIB.
моя программа: —
#include "ocilib.h"int main(int argc, char *args[])
{
OCI_Connection *cn;
if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
cout << "connection failed";
cn = OCI_ConnectionCreate("db", "usr", "pwd", OCI_SESSION_DEFAULT);
if (cn != NULL)
{
cout <<OCI_GetVersionServer(cn);
cout <<"Server major version : %i\n"<< OCI_GetServerMajorVersion(cn);
cout <<"Server minor version : %i\n"<<OCI_GetServerMinorVersion(cn);
cout <<"Server revision version : %i\n"<< OCI_GetServerRevisionVersion(cn);
cout <<"Connection version : %i\n"<< OCI_GetVersionConnection(cn);
OCI_ConnectionFree(cn);
}
OCI_Cleanup();
}
этот код работает в MSVisualstudio2015, я загрузил все пакеты OCI и установил в соответствии со своей средой ..
Я положил путь компоновщика и дополнительные файлы заголовка в свойствах проекта.
но когда я создаю приложение, оно показывает.
1>------ Build started: Project: Testdatabase, Configuration: Debug x64 ------
1> Testing.cpp
1>Testing.obj : error LNK2019: unresolved external symbol OCI_Initialize
referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol OCI_Cleanup
referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_ConnectionCreate referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_ConnectionFree referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_GetVersionServer referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_GetServerMajorVersion referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_GetServerMinorVersion referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_GetServerRevisionVersion referenced in function main
1>Testing.obj : error LNK2019: unresolved external symbol
OCI_GetVersionConnection referenced in function main
1>c:\XXXXX\XXXXXX\documents\visual studio
2015\Projects\Testdatabase\x64\Debug\Testdatabase.exe : fatal error
LNK1120: 9 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Я прочитал некоторые документы об этой проблеме, но я не могу решить эту проблему, дать мне какое-либо решение ..
Вам необходимо скопировать файл ociliba.dll из архива ocilib (в папке lib32 | 64) в папку, где создается ваш исполняемый файл.
Других решений пока нет …