Post
#1
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
Mam tekie pytanie. Czy są takie serwery, gdzie mozna sobie ściągnąć zrzuty baz danych o skomplikowanych relacjach i najlepiej paru milionach rekordów? Bardzo by mi się to przydało, gdyż baze i relacje zrobieć problemem nie jest, ale chodzi o rekordy. A gdyby mieć coś takiego to by można było trochę sobie poćwiczyć i potestować baze danych.
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%)
|
już mam coś fajnego
służy do przerzucania do bazy danych z system plików, z tym, że pliki nie są prawdziwe i wszystkie mają wartość określoną przez PLIK program korzysta z bazy danych podanej tutaj http://forum.php.pl/viewtopic.php?t=4037 Kod #define PQHOST NULL jak na razie nie wkłada jeszcze plików tak jakbym chciał, ale nie udało mi się jeszcze zrobić poprawnego ich otwierania i czytania
#define PQPORT NULL #define PQOPTIONS NULL #define PQTTY NULL #define PQNAME "postgres" #define PQUSER "php_pl" #define PQPASS "**************" #define INSERT_DIR "" #define NAME "/" #define PLIK "Plik testowy, który wkładam do bazy za pomocą programu w C" #define FALSE 0 #define TRUE !FALSE #include<libpq-fe.h> #include<unistd.h> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<sys/types.h> #include<sys/stat.h> #include<dirent.h> #include<errno.h> #include<fcntl.h> PGconn *conn; char *insertid( /* PGconn *conn */ ) //PGconn *conn { extern PGconn *conn; PGresult *res; res = PQexec( conn, "SELECT last_value FROM categories_id_seq;" ); if( !res || PQresultStatus( res ) != PGRES_TUPLES_OK ) { puts( "Cannot get ID" ); } return PQgetvalue( res, 0, 0 ); } int insertdir( /* PGconn *conn, */ char *path, char *name, char *id ) //PGconn *conn //const char *path; //const char *name; //const char id[20]; { char *query, *iid, *temppath; PGresult *res; extern PGconn *conn; DIR *dir; FILE *file; struct dirent *dirs; struct stat *status; if( ( strcmp( name, "." ) == 0 ) || ( strcmp( name, ".." ) == 0 ) ) return TRUE; temppath = malloc( 200 ); strcpy( temppath, path ); strcat( temppath, ( ( strcmp( path, "/" ) == 0 ) || ( strcmp( path, "" ) == 0 ) )? "": "/" ); strcat( temppath, name ); if( ( dir = opendir( temppath ) ) != NULL ) { query = malloc( 100 ); printf( "Tworzenie katalogu: %sn", temppath ); strcpy( query, "SELECT mkdir('" ); strcat( query, ( strcmp( name, "" ) == 0 ) ? "root" : name ); strcat( query, "', "); strcat( query, id ); strcat( query, ");" ); printf( "Wykonywane zapytanie: %sn", query ); res = PQexec( conn, query ); free( query ); if( !res || PQresultStatus( res ) != PGRES_TUPLES_OK ) { printf( "Błędne zapytanie:%sn", query ); printf( "%sn%sn", PQresultErrorMessage( res ), PQerrorMessage( conn ) ); return FALSE; } iid = insertid( conn ); while( ( dirs = readdir( dir ) ) != NULL ) if( insertdir( /* conn, */ temppath, dirs->d_name, iid ) == FALSE ) return FALSE; free( temppath ); return TRUE; } else if( errno == ENOTDIR ) { query = malloc( 200 ); printf( "Tworzenie pliku: %sn", temppath ); strcpy( query, "SELECT mk('" ); strcat( query, name ); strcat( query, "', " ); strcat( query, id ); strcat( query, ", '" ); strcat( query, PLIK ); strcat( query, "');" ); printf( "Wykonywane zapytanie: %sn", query ); res = PQexec( conn, query ); free( query ); free( temppath ); if( !res || PQresultStatus(res) != PGRES_TUPLES_OK ) { printf( "Błędne zapytanie:%sn", query ); return FALSE; } } else return TRUE; } int main( void ) { extern PGconn *conn; conn = PQsetdbLogin( PQHOST, PQPORT, PQOPTIONS, PQTTY, PQNAME, PQUSER, PQPASS ); PQexec( conn, "BEGIN;" ); printf( "%sn", PQerrorMessage( conn ) ); if( insertdir( /* conn, */ INSERT_DIR, NAME, "1" ) == FALSE ) { puts( "Inserting Failed!" ); PQexec( conn, "ROLLBACK;" ); PQfinish( conn ); exit( 1 ); } PQexec( conn, "COMMIT;" ); PQfinish( conn ); puts( "Program succed" ); return 0; } |
|
|
|
Jabol Gotowe zrzuty baz danych 12.07.2003, 09:37:17
FiDO O!! Dobre pytanie... przylaczam sie. Chociaz mi wy... 12.07.2003, 16:19:37
Seth To raczej mozesz sobie sam zrobic. Wrzucasz w petl... 12.07.2003, 16:24:52
Jabol ale ja bym chcial jakies urozmaicenie... jakbym mi... 12.07.2003, 16:32:46
uboottd Zawsze mozna uzyc rand()... 12.07.2003, 16:35:19
Seth Dokladnie to co napisal ubot. Ja takze daje losowo... 12.07.2003, 16:45:05
FiDO CytatDokladnie to co napisal ubot. Ja takze daje l... 12.07.2003, 20:08:45
uboottd jak niedlugie teskty to mozna to zrobic z sql-u (M... 12.07.2003, 21:34:33
spenalzo Ja to robię tak - wystarczy ten przykład sobie dop... 12.07.2003, 23:02:07
Jabol Z listy dyskusyjnej:CytatWe've got a database that... 13.07.2003, 16:05:38
FiDO Znaczy chcialbys sciagac z netu 26GB baze, tak? 13.07.2003, 21:05:17
Jabol no moze przesadzilem... 13.07.2003, 22:14:58
Jabol ehh racja, ale to mój pierwszy program w c większy... 31.07.2003, 21:14:14
FiDO hhe, widze ze odpowiedziales na post, ktorego juz ... 31.07.2003, 22:15:27
Jabol CytatPS. czemu nie napisales tego w php, jego prze... 1.08.2003, 06:27:31 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 22:01 |