tdsdbopen 이 아니고, 걍 dbopen으로 쓰셔야함돠~~~
dblib를 사용하는 예제거든요. MS-SQL을 C나 비주얼베이직
과 함께 쓸 수 있도록 한 DB-Library를 똑같이 쓸 수 있게 해주거든요.
각각 dbinit()이니, dbopen()이니 하는 함수들은 msdn의 온라인지원
서비스에서 찾아서 참조하실 수 있을겁니다.
그럼 수고하세요...
-- 달콩이 님이 쓰신 글:
>> 리눅스에서 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;
>> }
>> }
|