질문 : 이창환 님
Builder를 이용해서 Access파일인 MDB파일을 만들고 싶습니다.
Visual C++ 같은 경우에는 ADOX나 OLEDB로 MDB파일을 생성할 수 있는데
Builder는 어떻게 하는지 알 수가 없네여..
알려 주세요.
그럼..
답변 : 박지훈.임프 님
임펠리테리입니다.
MSDN에서 방법을 찾았습니다.
HOWTO: Create an .MDB File for Microsoft Access Databases
코드는 아주 간단합니다. 미리 준비된 함수 하나만 실행하면 되죠.
SQLConfigDataSource(NULL, ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)", "CREATE_DB=c:\\ATest.mdb General\0");
이 함수는 odbccp32.dll에 포함되어 있는 함수로서, 선언은 Win32 표준헤더인 odbcinst.h에 있으므로 이걸 인클루드해야 합니다.
#include <odbcinst.h>
비주얼C++에는 이 odbccp32.dll이 임포트된 lib 파일이 있지만, 빌더엔 없으므로 빌더의 /bin 디렉토리에 있는 implib.exe 유틸리티를 써서 만들어내면 됩니다.
implib odbccp32 odbccp32.dll
그리고 이걸 프로젝트에 추가하든지, 혹은,
#pragma link "Odbccp32.lib"
이 라인을 추가해서 링크를 시켜주면 됩니다.
mdb파일을 생성하는 테스트까지 해본 거니까 당근 될 겁니다.
그럼 참고하시길...
추가: 델파이에서의 방법
function SQLConfigDataSource(hwndParent: THandle; fRequest: WORD; lpszDriver, lpszAttributes: PChar): BOOL; stdcall; external 'Odbccp32.dll';
const
ODBC_ADD_DSN = 1;
SQLConfigDataSource(0, ODBC_ADD_DSN, 'Microsoft Access Driver (*.mdb)', 'CREATE_DB=c:\ATest.mdb General');
|