Tag: 数据库

从CSV读取数据并放入数据库

我有一个包含6列的表格,我有像这样的CSV导出,每行有6个条目 me;val1;val2;val3;val4;val5; me;val1;val2;val3;val4;val5; 我需要阅读这些条目并将其插入SQLITE3数据库中。以便解析我使用的CSV void readcsv() { FILE* stream = fopen(“input.csv”, “r”); char line[1024]; while (fgets(line, 1024, stream)) { char* tmp = strdup(line); printf(“Field 3 would be %s\n”, getcsvfield(tmp, 3)); // NOTE strtok clobbers tmp free(tmp); } } //Used for parsing CSV const char* getcsvfield(char* line, int num) { const char* tok; for (tok = […]

MonetDB客户端编译

我是数据库社区的初学者。 我一直在尝试使用C / C ++ MAPI与MonetDB进行交互。 我已经在我的Ubuntu 14.04 LTS机器上安装了MonetDB,当我尝试从这里编译示例程序时,我收到以下错误: $ gcc test.c -I /usr/include/monetdb -lmapi test.c :(。text + 0x29):对mapi_explain_query’ test.c:(.text+0x35): undefined reference to mapi_result_error’test.c :(。text + 0x50)的未定义引用:对mapi_explain_result’ test.c:(.text+0x5c): undefined reference to未定义引用mapi_explain_result’ test.c:(.text+0x5c): undefined reference to mapi_next_result’test.c :(。text + 0x6d)的未定义引用:对mapi_close_handle’ test.c:(.text+0x79): undefined reference to mapi_destroy’test.c的mapi_close_handle’ test.c:(.text+0x79): undefined reference to : (.text + 0x98):对mapi_explain’ test.c:(.text+0xa4): undefined reference […]

Oracle 11g中rowid的长度是固定的吗?

是否可以配置Oracle 11g安装,使其长度超过18个字符? 调查如果客户配置的rowid超过18个字符,可能导致本地无法生成的错误的可能原因。 该表没有索引。 不久之后使用rowid删除给定的记录,但可能在其间插入其他记录。

在sqlite3源代码中混淆sqlite3结构

在function static int sqlite3Prepare( sqlite3 *db, /* Database handle. */ const char *zSql, /* UTF-8 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ int saveSqlFlag, /* True to copy SQL text into the sqlite3_stmt */ Vdbe *pReprepare, /* VM being reprepared */ sqlite3_stmt **ppStmt, /* OUT: A pointer to the […]

如何在C / C ++中保存数据?

在互联网上有数据库(mysql,oracle等),我可以用PHP或任何其他服务器端语言发送HTML输入字段提交的信息。 这在C / C ++中如何工作? 如何让用户输入内容并保存输入值?

动态大小的结构 – 学习C艰难的方式Ex17

我在学习C艰难的方式练习时遇到了麻烦。 该练习提供了一个简单的数据库程序,它具有固定的大小和行数。 您可以在下面看到构成数据库的结构。 #define MAX_DATA 512 #define MAX_ROWS 100 struct Address { int id; int set; char name[MAX_DATA]; char email[MAX_DATA]; }; struct Database { struct Address rows[MAX_ROWS]; }; struct Connection { FILE *file; struct Database *db; }; 任务是更改代码以接受MAX_DATA的参数,MAX_ROWS将它们存储在数据库结构中,并将其写入文件,从而创建一个可以任意resize的数据库。 我理解如何接受来自用户的MAX_DATA和MAX_ROWS,作为命令行参数 – 在文件中定义的函数中。 一旦我有这些值,我不知道如何将它们存储在数据库结构中并写入文件。 感谢任何能够提供帮助的人。 您可以在此处找到其余代码: http : //c.learncodethehardway.org/book/ex17.html

hiredis Redis库是否为异步回调创建自己的线程

我在multithreading环境中使用Redis,并对其运行方式有疑问。 我在我的c ++应用程序中使用hiredis c库。 我的问题是:如果我在触发回调时使用异步模式,那么回调是否会在Redis客户端创建的另一个线程中处理? 因为创建调用的线程不会受到回调处理的影响吗? 谢谢!

sqlite内存中的数据库和multithreading

我的应用程序使用sqlite作为后端创建一个内存数据库(:memory :)。 我希望我的主线程创建到内存数据库的连接,并且此连接由多个线程共享。 这可能吗? SQLite 3.7.8现在可供下载。 共享缓存是否可行?

使用远程机器的libpq在PostgreSQL中插入二进制大对象(BLOB)

你能给出一个使用libpq从远程机器在PostgreSQL数据库中插入二进制数据的例子。 我的第二个问题是:是否有任何其他API比使用C ++的libpq更有效。 谢谢

在postgresql中创建扩展测试

我想在postgres中创建一个扩展测试 (使用PostGis),所以我想做以下步骤: 1.-以这种方式从btree_gist编辑文件btree_interval.c : gbt_intvkey_cmp(const void *a, const void *b) { intvKEY *ia = (intvKEY *) (((const Nsrt *) a)->t); intvKEY *ib = (intvKEY *) (((const Nsrt *) b)->t); int res; …… …… printf(“Test for PostGis\n”); return res; } 只添加一个printf ,因为我只想做一点测试 2.-运行以下命令: gcc -shared -o btree_gist_test.so -fPIC btree_gist.c 我的怀疑是: 1.-一旦安装了postgresql,我不知道在哪里可以找到文件btree_gist.c ,然后运行上面的命令。 如果你问我:’为什么不下载源代码呢?’ 好吧,因为当我这样做时,我收到此错误消息: #include “postgres.h” […]