FreeTDS接続Sqlserverデータベース一括コミットデータ

1886 ワード

FreeTDSは、SqlserverとSybaseデータベースのc/c++接続ライブラリとして機能します.
 int main()  
{  
    char szUsername[32] = "sa";  
    char szPassword[32] = "123456";  
    char szServer[32] = "172.16.3.127:1433";  
    char szDBName[32] = "blue";  
    char sql[256];  
   
  
    //   db-library  
    dbinit();  
  
    //       
    LOGINREC *loginrec = dblogin();  
    DBSETLUSER(loginrec, szUsername);  
    DBSETLPWD(loginrec, szPassword);  
    DBSETLCHARSET(loginrec, "UTF-8");  
    DBPROCESS *dbprocess = dbopen(loginrec, szServer);//       
    if(dbprocess == FAIL)  
    {  
        printf("Conect to MS SQL SERVER fail, exit!
"); return -1; } printf("Connect to MS SQL SERVER success!
"); // if(dbuse(dbprocess,szDBName) == FAIL) printf("Open database failed!
"); else printf("Open database success!
"); memset( sql, 0x00, sizeof(sql) ); sprintf( sql, "insert into dbmanage_log values('1','Jason','172.16.4.101','1','test insert','1')"); dbcmd(dbprocess, sql); // memset( sql, 0x00, sizeof(sql) ); sprintf( sql, "insert into dbmanage_log values('2','Jason','172.16.4.101','1','test insert','1')"); dbcmd(dbprocess, sql); memset( sql, 0x00, sizeof(sql) ); sprintf( sql, "insert into dbmanage_log values('3','Jason','172.16.4.101','1','test insert','1')"); dbcmd(dbprocess, sql); dbsqlexec(dbprocess); // // dbclose(dbprocess); dbloginfree(loginrec); dbexit(); return 0; }

テストの過程で、一度に最大460件のデータしか提出できないことが分かったが、まだ原因が見つかっていない.