리눅스에서 window2000 에 있는 ms-sql을 연결하려면.
freetds라는걸 설치해야한다고 해서..
Linux에 freetds를 설치했는데요..
이제 C프로그램으루..
Window 2000 에 있는 SQL Server가 제대로 connection이 되는지 테스트를 해바야하는데...
database 자료에 있는 예제를 약간 수정해서 컴파일을 해본 결과..
undefined reference to 'tdsdbopen'
이런 메세지가 뜨는데..
머가 잘못된건지 좀 알려주세요~
plz........ T.T
소스는 다음과 같습니다.
#include <stdio.h>
#include "sybfront.h"
#include "sybdb.h"
static syb_msg_handler(dbproc,msgno,msgstate,severity,msgtext,srvname,procname,line)
DBPROCESS *dbproc;
DBINT msgno;
int msgstate;
int severity;
char *msgtext;
char *srvname;
char *procname;
int line;
{
printf("Connect error!\n");
return 0;
}
static int syb_err_handler(dbproc,severity,dberr,oserr,dberrstr,oserrstr)
DBPROCESS *dbproc;
int severity;
int dberr;
int oserr;
char *dberrstr;
char *oserrstr;
{
printf("Command failed!\n");
return 0;
}
int main()
{
LOGINREC *login;
DBPROCESS *dbproc;
DBCHAR teststr[1024];
dbinit();
dberrhandle( syb_err_handler );
dbmsghandle( syb_msg_handler );
login = dblogin();
DBSETLUSER(login,"aaa");
DBSETLPWD(login,"1111");
DBSETLAPP(login,"TDS Lib Test");
DBSETLHOST(login,"linux");
dbproc = tdsdbopen(login, "myserver2");
if(dbproc==NULL)
{
printf("Connect error!\n");
return 0;
}
if(dbcmd(dbproc, "select name from bb_user where id='dalliet'\n")==FAIL)
{
printf("Command failed!\n");
dbexit();
return 0;
}
if(dbsqlexec(dbproc)==FAIL)
{
printf("SQLexec failed!\n");
dbexit();
return 0;
}
}
|