本文整理汇总了C++中dblogin函数的典型用法代码示例。如果您正苦于以下问题:C++ dblogin函数的具体用法?C++ dblogin怎么用?C++ dblogin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dblogin函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int
main(int argc, char *argv[])
{
LOGINREC *login;
DBPROCESS *dbproc;
int ret_code;
int num_cols;
int num_res;
set_malloc_options();
read_login_info(argc, argv);
printf("Starting %s\n", argv[0]);
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "t0012");
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE)) {
dbuse(dbproc, DATABASE);
}
dbloginfree(login);
printf("After logon\n");
/* select */
sql_cmd(dbproc);
dbsqlexec(dbproc);
num_res = 0;
while ((ret_code = dbresults(dbproc)) == SUCCEED) {
num_cols = dbnumcols(dbproc);
printf("Result %d has %d columns\n", num_res, num_cols);
if (!(num_res % 2) && num_cols)
set_failed();
while(dbnextrow(dbproc) != NO_MORE_ROWS) {};
num_res++;
}
if (ret_code == FAIL)
set_failed();
dbclose(dbproc);
dbexit();
printf("%s %s\n", __FILE__, (failed ? "failed!" : "OK"));
return failed ? 1 : 0;
}
开发者ID:FreeTDS,项目名称:freetds,代码行数:54,代码来源:empty_rowsets.c
示例2: main
int
main(int argc, char **argv)
{
LOGINREC *login;
DBPROCESS *dbproc;
read_login_info(argc, argv);
printf("Starting %s\n", argv[0]);
dbinit();
printf("About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "t0011");
printf("About to open\n");
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
dbloginfree(login);
printf("Dropping table\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
printf("creating table\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
printf("insert\n");
insert_row(dbproc);
insert_row(dbproc);
insert_row(dbproc);
failed = select_rows(dbproc, STRINGBIND);
dbexit();
printf("%s %s\n", __FILE__, (failed ? "failed!" : "OK"));
return failed ? 1 : 0;
}
开发者ID:FreeTDS,项目名称:freetds,代码行数:52,代码来源:t0011.c
示例3: rb_tinytds_connect
static VALUE rb_tinytds_connect(VALUE self, VALUE opts) {
/* Parsing options hash to local vars. */
VALUE user, pass, dataserver, database, app, version, ltimeout, timeout, charset;
user = rb_hash_aref(opts, sym_username);
pass = rb_hash_aref(opts, sym_password);
dataserver = rb_hash_aref(opts, sym_dataserver);
database = rb_hash_aref(opts, sym_database);
app = rb_hash_aref(opts, sym_appname);
version = rb_hash_aref(opts, sym_tds_version);
ltimeout = rb_hash_aref(opts, sym_login_timeout);
timeout = rb_hash_aref(opts, sym_timeout);
charset = rb_hash_aref(opts, sym_encoding);
/* Dealing with options. */
if (dbinit() == FAIL) {
rb_raise(cTinyTdsError, "failed dbinit() function");
return self;
}
dberrhandle(tinytds_err_handler);
dbmsghandle(tinytds_msg_handler);
GET_CLIENT_WRAPPER(self);
cwrap->login = dblogin();
if (!NIL_P(user))
dbsetluser(cwrap->login, StringValuePtr(user));
if (!NIL_P(pass))
dbsetlpwd(cwrap->login, StringValuePtr(pass));
if (!NIL_P(app))
dbsetlapp(cwrap->login, StringValuePtr(app));
if (!NIL_P(version))
dbsetlversion(cwrap->login, NUM2INT(version));
if (!NIL_P(ltimeout))
dbsetlogintime(NUM2INT(ltimeout));
if (!NIL_P(timeout))
dbsettime(NUM2INT(timeout));
if (!NIL_P(charset))
DBSETLCHARSET(cwrap->login, StringValuePtr(charset));
cwrap->client = dbopen(cwrap->login, StringValuePtr(dataserver));
if (cwrap->client) {
cwrap->closed = 0;
cwrap->charset = charset;
dbsetuserdata(cwrap->client, (BYTE*)cwrap->userdata);
cwrap->userdata->closed = 0;
if (!NIL_P(database))
dbuse(cwrap->client, StringValuePtr(database));
#ifdef HAVE_RUBY_ENCODING_H
VALUE transposed_encoding = rb_funcall(cTinyTdsClient, intern_transpose_iconv_encoding, 1, charset);
cwrap->encoding = rb_enc_find(StringValuePtr(transposed_encoding));
#endif
}
return self;
}
开发者ID:filipeamoreira,项目名称:tiny_tds,代码行数:50,代码来源:client.c
示例4: main
int main(void)
{
/* initialize db library */
if (dbinit() == FAIL)
return 0;
/* set message and error handler routines */
dberrhandle((EHANDLEFUNC)err_handler);
dbmsghandle((MHANDLEFUNC)msg_handler);
/* create login, user and pw are stored in sybdbex.h */
login = dblogin();
DBSETLUSER(login, USER);
DBSETLPWD(login, PASSWORD);
DBSETLAPP(login, "store_beispiel");
/* login to server */
dbproc = dbopen(login, "syb150");
dbuse(dbproc, "ma11s61406");
while(1)
{
get_berufe();
printf("beruf?\n");
gets(answer);
if(strcmp(answer, "")==0)
continue;
while(1)
{
get_mitarbeiter(answer);
printf("mitnr?\n");
gets(answer);
if(strcmp(answer, "")==0)
break;
get_all(answer);
break;
}
}
/* dbexit(STDEXIT); */
dbexit();
exit(STDEXIT);
}
开发者ID:mYstar,项目名称:DBTMA,代码行数:48,代码来源:prakt1.c
示例5: main
int
main(int argc, char **argv)
{
LOGINREC *login;
read_login_info(argc, argv);
fprintf(stdout, "Start\n");
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
fprintf(stdout, "About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "thread");
fprintf(stdout, "About to open \"%s\"\n", SERVER);
dbproc = dbopen(login, SERVER);
if (!dbproc) {
fprintf(stderr, "Unable to connect to %s\n", SERVER);
return 1;
}
dbloginfree(login);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
test("VARCHAR(10)", 1);
test("CHAR(10)", 1);
test("TEXT", 1);
test("NVARCHAR(10)", 0);
test("NTEXT", 0);
test("VARCHAR(MAX)", 0);
test("NVARCHAR(MAX)", 0);
dbexit();
return failed ? 1 : 0;
}
开发者ID:dparnell,项目名称:freetds,代码行数:48,代码来源:null2.c
示例6: thread_test
static void *
thread_test(void * arg)
{
int i;
int num = ptr2int(arg);
DBPROCESS *dbproc;
LOGINREC *login;
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "thread");
dbproc = dbopen(login, SERVER);
if (!dbproc) {
dbloginfree(login);
fprintf(stderr, "Unable to connect to %s\n", SERVER);
set_failed();
return NULL;
}
dbloginfree(login);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
pthread_mutex_lock(&mutex);
++thread_count;
pthread_mutex_unlock(&mutex);
printf("thread %2d waiting for all threads to start\n", num+1);
pthread_mutex_lock(&mutex);
while (thread_count < NUM_THREAD) {
pthread_mutex_unlock(&mutex);
sleep(1);
pthread_mutex_lock(&mutex);
}
pthread_mutex_unlock(&mutex);
for (i = 1; i <= NUM_LOOP; ++i) {
printf("thread %2d of %2d loop %d\n", num+1, NUM_THREAD, i);
if (test(dbproc) || result != 0)
break;
}
dbclose(dbproc);
return NULL;
}
开发者ID:dparnell,项目名称:freetds,代码行数:47,代码来源:thread.c
示例7: ngx_dbd_freetds_create
static ngx_dbd_t *
ngx_dbd_freetds_create(ngx_pool_t *pool, ngx_log_t *log)
{
ngx_dbd_t *dbd;
ngx_dbd_freetds_ctx_t *ctx;
ngx_log_debug0(NGX_LOG_DEBUG_MYSQL, log, 0, "dbd freetds create");
dbd = ngx_pcalloc(pool, sizeof(ngx_dbd_t));
if (dbd == NULL) {
return NULL;
}
ctx = ngx_pcalloc(pool, sizeof(ngx_dbd_freetds_ctx_t));
if (ctx == NULL) {
return NULL;
}
dbinit();
/* dbsetversion */
/* dbgetmaxprocs */
/* dbsetmaxprocs(256); */
#if 0
ngx_log_error(NGX_LOG_ALERT, log, 0, "version of db-lib:%s", dbversion());
#endif
ctx->login = dblogin();
if (ctx->login == NULL) {
return NULL;
}
dbprocerrhandle(ctx->login, (DBERRHANDLE_PROC) ngx_dbd_freetds_err_handler);
dbprocmsghandle(ctx->login, (DBMSGHANDLE_PROC) ngx_dbd_freetds_msg_handler);
dbd->pool = pool;
dbd->log = log;
dbd->ctx = ctx;
return dbd;
}
开发者ID:chenbk85,项目名称:ngx_dbd_module,代码行数:44,代码来源:ngx_dbd_freetds.c
示例8: fourd_connect
int fourd_connect(FOURD *cnx,const char *host,const char *user,const char *password,const char *base,unsigned int port)
{
if(!cnx->init)
{
//not init
Printferr("Erreur: FOURD object did not initialised\n");
cnx->error_code=-1;
strncpy_s(cnx->error_string,ERROR_STRING_LENGTH,"FOURD object did not initialised",ERROR_STRING_LENGTH);
return 1;
}
if(cnx->connected)
{
//deja connecter
Printferr("Erreur: already connected\n");
cnx->error_code=-1;
strncpy_s(cnx->error_string,ERROR_STRING_LENGTH,"Already connected",ERROR_STRING_LENGTH);
return 1;
}
if(socket_connect_timeout(cnx,host,port,15))
{
//erreur de connection
Printferr("Erreur in socket_connect\n");
cnx->connected=0;
//cnx->error_code=-1;
//strncpy_s(cnx->error_string,ERROR_STRING_LENGTH,"Error during connection",ERROR_STRING_LENGTH);
return 1;
}
if(dblogin(cnx,1,user,((password==NULL)?"":password),cnx->preferred_image_types)!=0)
{
//erreur de login
Printferr("Erreur: in login function\n");
cnx->connected=0;
if(cnx->error_code==0) {
cnx->error_code=-1;
strncpy_s(cnx->error_string,ERROR_STRING_LENGTH,"Error during login",ERROR_STRING_LENGTH);
}
return 1;
}
cnx->connected=1;
//Printferr("Erreur: not erreur\n");
cnx->error_code=0;
strncpy_s(cnx->error_string,ERROR_STRING_LENGTH,"",ERROR_STRING_LENGTH);
return 0;
}
开发者ID:benddailey,项目名称:pecl-pdo-4d,代码行数:44,代码来源:fourd.c
示例9: set_login_struct
void Connector::set_login_struct(string user , string password )
{
if ( (login_rec = dblogin()) == FAIL){
conn_status = false;
s_error_message.append("Failed to initialize the login struct");
error_code = 2;
}
DBSETLUSER(login_rec, user.c_str());
DBSETLPWD(login_rec, password.c_str());
DBSETLAPP(login_rec, "msfmobile");
char hostname[MAXHOSTNAMELEN];
int max_len = MAXHOSTNAMELEN;
if (gethostname(hostname, max_len) == 0){
DBSETLHOST(login_rec, hostname);
}
}
开发者ID:20083017,项目名称:mysql_connector,代码行数:19,代码来源:Connector.cpp
示例10: close
bool QTDSDriver::open(const QString & db,
const QString & user,
const QString & password,
const QString & host,
int /*port*/,
const QString& /*connOpts*/)
{
if (isOpen())
close();
if (!dbinit()) {
setOpenError(true);
return false;
}
d->login = dblogin();
if (!d->login) {
setOpenError(true);
return false;
}
DBSETLPWD(d->login, const_cast<char*>(password.toLocal8Bit().constData()));
DBSETLUSER(d->login, const_cast<char*>(user.toLocal8Bit().constData()));
// Now, try to open and use the database. If this fails, return false.
DBPROCESS* dbproc;
dbproc = dbopen(d->login, const_cast<char*>(host.toLatin1().constData()));
if (!dbproc) {
setLastError(qMakeError(tr("Unable to open connection"), QSqlError::ConnectionError, -1));
setOpenError(true);
return false;
}
if (dbuse(dbproc, const_cast<char*>(db.toLatin1().constData())) == FAIL) {
setLastError(qMakeError(tr("Unable to use database"), QSqlError::ConnectionError, -1));
setOpenError(true);
return false;
}
dbclose( dbproc );
setOpen(true);
setOpenError(false);
d->hostName = host;
d->db = db;
return true;
}
开发者ID:Suneal,项目名称:qt,代码行数:43,代码来源:qsql_tds.cpp
示例11: init_db
int init_db(void){
/* initialize db library */
if (dbinit() == FAIL)
return 0;
/* set message and error handler routines */
dberrhandle((EHANDLEFUNC)err_handler);
dbmsghandle((MHANDLEFUNC)msg_handler);
/* create login, user and pw are stored in sybdbex.h */
login = dblogin();
DBSETLUSER(login, USER);
DBSETLPWD(login, PASSWORD);
DBSETLAPP(login, "berufe");
/* login to server */
dbproc = dbopen(login, "syb150");
dbproc_insert = dbopen(login, "syb150");
dbuse(dbproc, "ma11s67778");
dbuse(dbproc_insert, "ma11s67778");
}
开发者ID:mYstar,项目名称:DBTMA,代码行数:22,代码来源:prakt1.c
示例12: putenv
DBPROCESS *ConnectDB()
{
DBPROCESS *dbproc;
LOGINREC *login;
putenv("TDSVER=42");
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
login = dblogin();
DBSETLPWD(login, "yjkim");
DBSETLUSER(login, "tim_yjkim");
DBSETLAPP(login, "Sync");
DBSETLHOST(login, "auth01");
dbproc = dbopen(login, "webDB");
if(!dbproc) {
fprintf(stderr, "Unable to Connect to %s", "webDB");
exit(-1);
}
dbloginfree(login);
return dbproc;
}
开发者ID:k2b3d,项目名称:authsrc,代码行数:24,代码来源:DBProcess.cpp
示例13: main
int
main(int argc, char **argv)
{
LOGINREC *login;
DBPROCESS *dbproc;
int i;
char teststr[1024];
DBINT testint;
set_malloc_options();
read_login_info(argc, argv);
printf("Starting %s\n", argv[0]);
/* Fortify_EnterScope(); */
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "text_buffer");
DBSETLHOST(login, "ntbox.dntis.ro");
printf("About to open\n");
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
dbloginfree(login);
#ifdef MICROSOFT_DBLIB
dbsetopt(dbproc, DBBUFFER, "100");
#else
dbsetopt(dbproc, DBBUFFER, "100", 0);
#endif
printf("creating table\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
printf("insert\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
printf("select\n");
dbcmd(dbproc, "select * from #dblib order by i");
dbsqlexec(dbproc);
if (dbresults(dbproc) != SUCCEED) {
printf("Was expecting a result set.");
return 1;
}
for (i = 1; i <= dbnumcols(dbproc); i++) {
printf("col %d is %s\n", i, dbcolname(dbproc, i));
}
dbbind(dbproc, 1, INTBIND, 0, (BYTE *) & testint);
dbbind(dbproc, 2, STRINGBIND, 0, (BYTE *) teststr);
if (REG_ROW != dbnextrow(dbproc)) {
fprintf(stderr, "dblib failed for %s:%d\n", __FILE__, __LINE__);
return 1;
}
if (dbdatlen(dbproc, 2) != 6 || 0 != strcmp("ABCDEF", teststr)) {
fprintf(stderr, "Expected |%s|, found |%s|\n", "ABCDEF", teststr);
fprintf(stderr, "dblib failed for %s:%d\n", __FILE__, __LINE__);
return 1;
}
if (REG_ROW != dbnextrow(dbproc)) {
fprintf(stderr, "dblib failed for %s:%d\n", __FILE__, __LINE__);
return 1;
}
if (dbdatlen(dbproc, 2) != 3 || 0 != strcmp("abc", teststr)) {
fprintf(stderr, "Expected |%s|, found |%s|\n", "abc", teststr);
fprintf(stderr, "dblib failed for %s:%d\n", __FILE__, __LINE__);
return 1;
}
/* get again row 1 */
dbgetrow(dbproc, 1);
//.........这里部分代码省略.........
开发者ID:joshuahlang,项目名称:freetds,代码行数:101,代码来源:text_buffer.c
示例14: main
int
main(int argc, char **argv)
{
const int rows_to_add = 48;
LOGINREC *login;
DBPROCESS *dbproc;
int i;
char teststr[1024];
DBINT testint;
DBINT last_read = -1;
set_malloc_options();
read_login_info(argc, argv);
fprintf(stdout, "Starting %s\n", argv[0]);
/* Fortify_EnterScope(); */
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
fprintf(stdout, "About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "t0008");
DBSETLHOST(login, "ntbox.dntis.ro");
fprintf(stdout, "About to open\n");
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
dbloginfree(login);
#ifdef MICROSOFT_DBLIB
dbsetopt(dbproc, DBBUFFER, "25");
#else
dbsetopt(dbproc, DBBUFFER, "25", 0);
#endif
fprintf(stdout, "creating table\n");
dbcmd(dbproc, "create table #dblib0008 (i int not null, s char(10) not null)");
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
fprintf(stdout, "insert\n");
for (i = 1; i <= rows_to_add; i++) {
char cmd[1024];
sprintf(cmd, "insert into #dblib0008 values (%d, 'row %03d')", i, i);
dbcmd(dbproc, cmd);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
}
fprintf(stdout, "select\n");
dbcmd(dbproc, "select * from #dblib0008 order by i");
dbsqlexec(dbproc);
if (dbresults(dbproc) != SUCCEED) {
fprintf(stdout, "Was expecting a result set.");
exit(1);
}
for (i = 1; i <= dbnumcols(dbproc); i++)
printf("col %d is %s\n", i, dbcolname(dbproc, i));
dbbind(dbproc, 1, INTBIND, 0, (BYTE *) & testint);
dbbind(dbproc, 2, STRINGBIND, 0, (BYTE *) teststr);
for (i = 1; i <= rows_to_add; i++) {
char expected[1024];
sprintf(expected, "row %03d", i);
if (i % 25 == 0) {
dbclrbuf(dbproc, 25);
}
if (REG_ROW != dbnextrow(dbproc)) {
fprintf(stderr, "dblib failed for %s, dbnextrow1\n", __FILE__);
dbexit();
return 1;
}
last_read = testint;
if (testint < 1 || testint > rows_to_add) {
fprintf(stderr, "dblib failed for %s testint = %d\n", __FILE__, (int) testint);
exit(1);
}
if (testint != i) {
fprintf(stderr, "Failed. Expected i to be %d, was %d\n", i, (int) testint);
abort();
//.........这里部分代码省略.........
开发者ID:DmitrySigaev,项目名称:ncbi,代码行数:101,代码来源:t0008.c
示例15: main
int
main(int argc, char **argv)
{
int i;
pthread_t th[NUM_THREAD];
DBPROCESS *dbproc;
LOGINREC *login;
read_login_info(argc, argv);
fprintf(stdout, "Start\n");
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
fprintf(stdout, "About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "thread");
fprintf(stdout, "About to open \"%s\"\n", SERVER);
dbproc = dbopen(login, SERVER);
if (!dbproc) {
fprintf(stderr, "Unable to connect to %s\n", SERVER);
return 1;
}
dbloginfree(login);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
fprintf(stdout, "Dropping table\n");
dbcmd(dbproc, "if object_id('dblib_thread') is not null drop table dblib_thread");
dbsqlexec(dbproc);
while (dbresults(dbproc) == SUCCEED) {
/* nop */
}
fprintf(stdout, "creating table\n");
dbcmd(dbproc, "create table dblib_thread (i int not null, s char(10) not null)");
dbsqlexec(dbproc);
while (dbresults(dbproc) == SUCCEED) {
/* nop */
}
fprintf(stdout, "insert\n");
for (i = 0; i < ROWS; i++) {
char cmd[128];
sprintf(cmd, "insert into dblib_thread values (%d, 'row %d')", i, i);
dbcmd(dbproc, cmd);
dbsqlexec(dbproc);
while (dbresults(dbproc) == SUCCEED) {
/* nop */
}
}
for (i = 0; i < NUM_THREAD; ++i) {
int err = pthread_create(&th[i], NULL, thread_test, int2ptr(i));
if (err != 0)
{
fprintf(stderr, "Error %d (%s) creating thread\n", err, strerror(err));
return 1;
}
/* MSSQL rejects the connections if they come in too fast */
sleep(1);
}
for (i = 0; i < NUM_THREAD; ++i) {
pthread_join(th[i], NULL);
fprintf(stdout, "thread: %d exited\n", i + 1);
}
fprintf(stdout, "Dropping table\n");
dbcmd(dbproc, "drop table dblib_thread");
dbsqlexec(dbproc);
while (dbresults(dbproc) == SUCCEED) {
/* nop */
}
dbexit();
return result;
}
开发者ID:dparnell,项目名称:freetds,代码行数:90,代码来源:thread.c
示例16: main
int
main(int argc, char **argv)
{
char cmd[1024];
LOGINREC *login;
DBPROCESS *dbproc;
int i;
char teststr[1024];
int erc, failed = 0;
char *retname = NULL;
int rettype = 0, retlen = 0;
set_malloc_options();
read_login_info(argc, argv);
fprintf(stdout, "Start\n");
add_bread_crumb();
dbinit();
add_bread_crumb();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
fprintf(stdout, "About to logon\n");
add_bread_crumb();
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "t0022");
fprintf(stdout, "About to open\n");
add_bread_crumb();
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
add_bread_crumb();
dbloginfree(login);
add_bread_crumb();
fprintf(stdout, "Dropping proc\n");
add_bread_crumb();
dbcmd(dbproc, "if object_id('t0022') is not null drop proc t0022");
add_bread_crumb();
dbsqlexec(dbproc);
add_bread_crumb();
while ((erc = dbresults(dbproc)) == SUCCEED) {
fprintf(stdout, "dbresult succeeded dropping procedure\n");
while ((erc = dbnextrow(dbproc)) == SUCCEED) {
fprintf(stdout, "dbnextrow returned spurious rows dropping procedure\n");
assert(0); /* dropping a procedure returns no rows */
}
assert(erc == NO_MORE_ROWS);
}
assert(erc == NO_MORE_RESULTS);
add_bread_crumb();
fprintf(stdout, "creating proc\n");
dbcmd(dbproc, "create proc t0022 (@b int out) as\nbegin\n select @b = 42\n return 66\nend\n");
if (dbsqlexec(dbproc) == FAIL) {
add_bread_crumb();
fprintf(stdout, "Failed to create proc t0022.\n");
exit(1);
}
while ((erc = dbresults(dbproc)) != NO_MORE_RESULTS) {
assert(erc != FAIL);
while ((erc = dbnextrow(dbproc)) == SUCCEED) {
assert(0); /* creating a procedure returns no rows */
}
assert(erc == NO_MORE_ROWS);
}
sprintf(cmd, "declare @b int\nexec t0022 @b = @b output\n");
fprintf(stdout, "%s\n", cmd);
dbcmd(dbproc, cmd);
dbsqlexec(dbproc);
add_bread_crumb();
while ((erc = dbresults(dbproc)) != NO_MORE_RESULTS) {
if (erc == FAIL) {
add_bread_crumb();
fprintf(stdout, "Was expecting a result set.\n");
exit(1);
}
while ((erc = dbnextrow(dbproc)) == SUCCEED) {
assert(0); /* procedure returns no rows */
}
assert(erc == NO_MORE_ROWS);
}
add_bread_crumb();
#if defined(DBTDS_7_0) && defined(DBTDS_8_0) && defined(DBTDS_9_0)
if ((dbnumrets(dbproc) == 0)
&& ((DBTDS(dbproc) == DBTDS_7_0)
|| (DBTDS(dbproc) == DBTDS_8_0)
//.........这里部分代码省略.........
开发者ID:dparnell,项目名称:freetds,代码行数:101,代码来源:t0022.c
示例17: get_login
LOGINREC *
get_login(int argc, char *argv[], OPTIONS *options)
{
LOGINREC *login;
int ch;
char *username = NULL, *password = NULL;
extern char *optarg;
assert(options && argv);
options->appname = tds_basename(argv[0]);
options->colsep = default_colsep; /* may be overridden by -t */
login = dblogin();
if (!login) {
fprintf(stderr, "%s: unable to allocate login structure\n", options->appname);
exit(1);
}
DBSETLAPP(login, options->appname);
options->servername = getenv("DSQUERY");
while ((ch = getopt(argc, argv, "U:P:R:S:dD:i:o:e:t:H:hqv")) != -1) {
switch (ch) {
case 'U':
username = strdup(optarg);
break;
case 'R':
parse_pivot_description(options, optarg);
break;
case 'P':
password = getpassarg(optarg);
break;
case 'S':
options->servername = strdup(optarg);
break;
case 'd':
case 'D':
options->database = strdup(optarg);
break;
case 'i':
options->input_filename = strdup(optarg);
break;
case 'o':
options->output_filename = strdup(optarg);
break;
case 'e':
options->error_filename = strdup(optarg);
break;
case 't':
unescape(optarg);
options->colsep = strdup(optarg);
break;
case 'h':
options->headers = stdout;
break;
case 'H':
strcpy(options->hostname, optarg);
break;
case 'q':
options->fquiet = 1;
break;
case 'v':
options->fverbose = 1;
break;
case '?':
default:
usage(options->appname);
exit(1);
}
}
if (username)
DBSETLUSER(login, username);
if( !options->hostname[0] ) {
if (-1 == gethostname(options->hostname, sizeof(options->hostname))) {
perror("unable to get hostname");
}
}
if( options->hostname[0] ) {
DBSETLHOST(login, options->hostname);
}
/* Look for a password if a username was provided, else assume domain login */
if (password) {
DBSETLPWD(login, password);
memset(password, 0, strlen(password));
} else if (username) {
char password[128];
readpassphrase("Password: ", password, sizeof(password), RPP_ECHO_OFF);
DBSETLPWD(login, password);
}
//.........这里部分代码省略.........
开发者ID:msabramo,项目名称:freetds,代码行数:101,代码来源:bsqldb.c
示例18: main
int
main(int argc, char **argv)
{
const int rows_to_add = 50;
LOGINREC *login;
DBPROCESS *dbproc;
int i, expected_error;
char *s, teststr[1024];
DBINT testint;
int failed = 0;
set_malloc_options();
read_login_info(argc, argv);
printf("Starting %s\n", argv[0]);
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "t0004");
printf("About to open\n");
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
dbloginfree(login);
printf("creating table\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
printf("insert\n");
for (i = 1; i < rows_to_add; i++) {
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
}
sql_cmd(dbproc); /* select */
dbsqlexec(dbproc);
if (dbresults(dbproc) != SUCCEED) {
printf("Was expecting a result set.");
exit(1);
}
for (i = 1; i <= dbnumcols(dbproc); i++)
printf("col %d is %s\n", i, dbcolname(dbproc, i));
dbbind(dbproc, 1, INTBIND, 0, (BYTE *) & testint);
dbbind(dbproc, 2, STRINGBIND, 0, (BYTE *) teststr);
for (i = 1; i <= 24; i++) {
char expected[1024];
sprintf(expected, "row %04d", i);
if (i % 5 == 0) {
dbclrbuf(dbproc, 5);
}
testint = -1;
strcpy(teststr, "bogus");
if (REG_ROW != dbnextrow(dbproc)) {
fprintf(stderr, "Failed. Expected a row\n");
exit(1);
}
if (testint != i) {
fprintf(stderr, "Failed. Expected i to be %d, was %d\n", i, (int) testint);
abort();
}
if (0 != strncmp(teststr, expected, strlen(expected))) {
printf("Failed. Expected s to be |%s|, was |%s|\n", expected, teststr);
abort();
}
printf("Read a row of data -> %d %s\n", (int) testint, teststr);
}
printf("second select\n");
printf("testing dbgetchar...\n");
for (i=0; (s = dbgetchar(dbproc, i)) != NULL; i++) {
putchar(*s);
//.........这里部分代码省略.........
开发者ID:FreeTDS,项目名称:freetds,代码行数:101,代码来源:t0004.c
示例19: main
int
main(int argc, char **argv)
{
LOGINREC *login;
DBPROCESS *dbproc;
int i;
DBINT erc;
RETCODE results_retcode;
int rowcount;
int colcount;
int row_retcode;
set_malloc_options();
read_login_info(argc, argv);
if (argc > 1) {
argc -= optind;
argv += optind;
}
printf("Starting %s\n", argv[0]);
/* Fortify_EnterScope(); */
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("About to logon as \"%s\"\n", USER);
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "wf_dbresults");
if (argc > 1) {
printf("server and login timeout overrides (%s and %s) detected\n", argv[0], argv[1]);
strcpy(SERVER, argv[0]);
i = atoi(argv[1]);
if (i) {
i = dbsetlogintime(i);
printf("dbsetlogintime returned %s.\n", (i == SUCCEED) ? "SUCCEED" : "FAIL");
}
}
printf("About to open \"%s\"\n", SERVER);
dbproc = dbopen(login, SERVER);
if (!dbproc) {
fprintf(stderr, "Unable to connect to %s\n", SERVER);
return 1;
}
dbloginfree(login);
printf("Using database \"%s\"\n", DATABASE);
if (strlen(DATABASE)) {
erc = dbuse(dbproc, DATABASE);
assert(erc == SUCCEED);
}
sql_cmd(dbproc);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS) {
/* nop */
}
/*
* This test is written to simulate how dblib is used in PDO
* functions are called in the same order they would be if doing
* PDO::query followed by some number of PDO::statement->nextRowset
*/
/*
* First, call everything that happens in PDO::query
* this will return the results of the CREATE TABLE statement
*/
dbcancel(dbproc);
printf("using sql_cmd\n");
sql_cmd(dbproc);
dbsqlexec(dbproc);
results_retcode = dbresults(dbproc);
rowcount = DBCOUNT(dbproc);
colcount = dbnumcols(dbproc);
printf("** CREATE TABLE **\n");
printf("RETCODE: %d\n", results_retcode);
printf("ROWCOUNT: %d\n", rowcount);
printf("COLCOUNT: %d\n\n", colcount);
/* check that the results correspond to the create table statement */
assert(results_retcode == SUCCEED);
assert(rowcount == -1);
assert(colcount == 0);
/* now simulate calling nextRowset() for each remaining statement in our batch */
/*
//.........这里部分代码省略.........
开发者ID:FreeTDS,项目名称:freetds,代码行数:101,代码来源:batch_stmt_ins_sel.c
示例20: main
int
main(int argc, char **argv)
{
LOGINREC *login;
DBPROCESS *dbproc;
RETPARAM save_param, save_varchar_tds7_param, save_nvarchar_tds7_param;
char teststr[8000+1], abbrev_data[10+3+1], *output;
char *retname = NULL;
int i, failed = 0;
int rettype = 0, retlen = 0, return_status = 0;
char proc[] = "#t0022";
char *proc_name = proc;
int num_resultset = 0, num_empty_resultset = 0;
int num_params = 6;
static const char dashes30[] = "------------------------------";
static const char *dashes5 = dashes30 + (sizeof(dashes30) - 5),
*dashes20 = dashes30 + (sizeof(dashes30) - 20);
RETCODE erc, row_code;
set_malloc_options();
memset(&save_param, 0, sizeof(save_param));
memset(&save_varchar_tds7_param, 0, sizeof(save_varchar_tds7_param));
memset(&save_nvarchar_tds7_param, 0, sizeof(save_nvarchar_tds7_param));
read_login_info(argc, argv);
printf("Starting %s\n", argv[0]);
dbinit();
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("About to logon\n");
login = dblogin();
DBSETLPWD(login, PASSWORD);
DBSETLUSER(login, USER);
DBSETLAPP(login, "rpc");
dberrhandle(ignore_err_handler);
DBSETLPACKET(login, -1);
dberrhandle(syb_err_handler);
printf("About to open %s.%s\n", SERVER, DATABASE);
dbproc = dbopen(login, SERVER);
if (strlen(DATABASE))
dbuse(dbproc, DATABASE);
dbloginfree(login);
printf("Check if server support long identifiers\n");
sql_cmd(dbproc);
i = 103;
dbsetuserdata(dbproc, (BYTE*) &i);
dbsqlexec(dbproc);
while (dbresults(dbproc) != NO_MORE_RESULTS)
while (dbnextrow(dbproc) != NO_MORE_ROWS)
continue;
dbsetuserdata(dbproc, NULL);
if (i == 0) {
fprintf(stderr, "This server does not support long identifiers\n");
dbexit();
return 0;
}
dberrhandle(ignore_err_handler);
dbmsghandle(ignore_msg_handler);
printf("trying to create a temporary stored procedure\n");
if (FAIL == init_proc(dbproc, proc_name)) {
num_params = 4;
printf("trying to create a permanent stored procedure\n");
if (FAIL == init_proc(dbproc, ++proc_name))
exit(EXIT_FAILURE);
}
dberrhandle(syb_err_handler);
dbmsghandle(syb_msg_handler);
printf("Created procedure %s\n", proc_name);
/* set up and send the rpc */
printf("executing dbrpcinit\n");
erc = dbrpcinit(dbproc, proc_name, 0); /* no options */
if (erc == FAIL) {
fprintf(stderr, "Failed line %d: dbrpcinit\n", __LINE__);
failed = 1;
}
for (pb = bindings, i = 0; pb < bindings + sizeof(bindings)/sizeof(bindings[0]); pb++, i++) {
printf("executing dbrpcparam for %s\n", pb->name);
if (num_params == 4 && (i == 3 || i == 4))
continue;
if ((erc = dbrpcparam(dbproc, pb->name, pb->status, pb->type, pb->maxlen, pb->datalen, pb->value)) == FAIL) {
//.........这里部分代码省略.........
开发者ID:joshuahlang,项目名称:freetds,代码行数:101,代码来源:rpc.c
注:本文中的dblogin函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论