c/c++ で mysql のデータベースへアクセスする方法をまとめます。 rubyやphpと比べるとc/c++でのコーディングはかなり面倒ですが、うまく記述できればパフォーマンスがかなり向上できるようです。 参考URL http://dev.mysql.com/doc/refman/5.5/en/c.html c/c++でsqliteを使う方法 - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き - DBへの接続 #include <mysql.h> MYSQL mysql; mysql = mysql_init(NULL); if (NULL==mysql) { // 初期化失敗 } const char *hostname = NULL; const char *username = "user"; const char *password = "pass"; const
MySQL MySQL はオープンソースで公開されている RDBMS の1つです.色々なアプリケーションで用いられていますが,C++ のプログラムから MySQL に接続する方法を紹介する記事が少なかったので,実際にソースコードを示しながらまとめたいと思います. C++ のプログラムからデータベースを操作するには Connector/C++ を用います. 下記のリンクからダウンロード可能です. MySQL :: Download Connector/C++ 実行環境は Mac OS X (10.11) ですが,おそらく Linux でも同様に実行可能だと思います. C++ は C++11 を使用しています. また,MySQL と Connector/C++ のインストールや SQL 構文の詳細については省略します. Connector/C++ 例として基本的な操作を行うプログラムのソースコ
こんにちわ。開発エンジニアのsugimotoです。 今回はPostgresqlのデッドロックについてちょっと書いてみます。 確認した環境はPostgresql9.1.4です。 ロックとかデッドロックについての説明は省きます。 デッドロックの調査 カタログテーブルのpg_locksを確認すると現在のロック状態がわかります。 pg_classと結合すればテーブル名もわかります。 各ロックの競合関係図はhttp://www.ecoop.net/memo/archives/2008-05-30-1.htmlがわかりやすくてお勧めです。 デッドロックの例 自分が経験したことのあるデッドロックの例を3つほどあげます。 例1.明示的なロックによるデッドロック 一番普通のパターンです。 本にはこれが載っていることが多いです。 自分もつい2年くらい前まではデッドロックはこのパターンしかないと思ってました。
SELECT * FROM senryu WHERE category IN( '09', '15' ) AND sql LIKE '%SELECT%' AND count < 1 ORDER BY updatedate DESC, id_senryu Fluent Interface iciqlの文法が懐かしい開発者も多いと思います。これは,2005年にEric EvansとMartin Fowlerが提唱した「流れるようなインタフェース」(fluent interface)が源流で,2007年にSeasarのS2JDBに採用されたり,Ruby on RailsのActive Record,最近ではScalaのSlickなど,Web開発者には馴染みがある文法のためです。 SQL DSLのメリット SQL DSLのメリットは,タイプセーフ(type-safe)の一言に尽きます。 テーブルが
JavaアプリでORマッパーを使う 先日、ちょっとしたJavaアプリを作る必要があり、DBアクセス方法をどうしようか検討してました。 最初はPreparedStatementつかって自分でSQL組み立ててもいいかなあと思ってたんですが、 仕様を確認したらそこまで楽なDBアクセスでないのでNG. 次にSpring DataとかhibernateとかiBATISとかのORマッパーを使おうと思ってたんですが、 DBアクセスをしたいだけなのに依存ライブラリがいっぱいあったり設定ファイル用意したりして 面倒だったので、これもヤメました。 で、いろいろ探してみた結果、簡単につかえそうなiciqlというORマッパーがあったので、紹介します。 iciqlの特徴は以下のとおり。 単一のjarで提供される 設定ファイルなしで使える DBからモデル生成できるツール付き xmlとかでいちいち設定ファイルを書かずに
試験の押さえどころを総ざらい! データベーススペシャリスト試験攻略のツボ(0) 連載初回はテクニカルエンジニア(データベース)試験対策を一挙公開! 今後のスキルアップを目指す方もいちど目を通して
できないと思ってたら、できたので書いておく。 PostgreSQL 8.1.11 失敗 postgres=# CREATE DATABASE x-xxxdb; ERROR: syntax error at or near "-" at character 18 LINE 1: create DATABASE x-xxxdb 成功 postgres=# create DATABASE "x-xxxdb"; CREATE DATABASE ダブルクォート(")で囲めば良いみたいですね。 MySQLでは、バッククォート(`)で囲むみたいですね。 MySQLで"-"(ハイフン)を含むデータベース名を付けたい場合 - 元RX-7乗りの適当な日々
下記が Ruby から MySQL に接続する例です。ここではRuby/MySQLというライブラリを利用します。 ソースコード 下記のソースコードを参考にしてください。 # Ruby/MySQL を読み込みます。 require'mysql' # MySQL に接続します。 my = Mysql.new('hostname','username','password','dbname') # SQL クエリを実行します。 res = my.query('SELECT * from table_heteml') # 結果を表示します。 res.eachdo|row| puts row[0] end hostname
PostgreSQLでの「\c」コマンドによる接続先データベースの変更方法 IT・コンピュータ・家電等 psqlであるデータベースに接続した後、別のデータベースへの接続に切り替えたい場合がある。 現在のデータベースへの接続を「\q」コマンドで切断後、、再度psqlで別のデータベースに接続する、といった方法もあるが、psqlでの切断、接続やり直し、といった流れが少しだけ面倒かもしれない。 少しでも手間を省くには、「\c」コマンドで接続先データベースを変更すればよい。 \c データベース名 ユーザ名 と入力し、[Enter]キーを押すことで、接続先データベースとユーザ名を変更できる。 ユーザ名の指定が不要である場合は、ユーザ名を指定せず、 \c データベース名 と入力してもよい。 《備考》PostgreSQL8.1のヘルプに記載されている情報 \c[onnect] [DBNAME|- [USE
DB周りは全然分かっていないし毎回調べては忘れていくのでアレコレとメモ。 手元の環境 Mac OS X 10.7.3 MySQL5.5 InnoDB前提 サンプルとして使うテーブル mysql> desc sample; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | val | int(11) | YES | | NULL | | +-------+---------+------+-----+--
目次導入 -- HTTP_Request 導入 Basic 認証 -- 保護された Web サイトのための認証 クッキー -- HTTP_Request でクッキーを利用する ファイルアップロード -- HTTP 経由でファイルをアップロードする リクエストヘッダ -- HTTP リクエストに付加的なヘッダを追加する プロキシ認証 -- HTTP プロキシを利用する レスポンスの評価 -- HTTP レスポンスからの情報を評価する HTTP_Request_Listener -- HTTP_Request 操作にリスナーをアタッチする このパッケージは、HTTP リクエストを実行するための簡単な方法を提供します。 GET/POST/HEAD/TRACE/PUT/DELETE、Basic認証、プロキシ、プロキシ認証、SSL、 ファイルアップロードなどをサポートします。
<?php // //The tidy tree of your favorite ! //For PHP 5 (CGI) //Thanks to john@php.net // $file="http://www.php.net"; // $cns=get_defined_constants(true); $tidyCns=array("tags"=>array(),"types"=>array()); foreach($cns["tidy"] as $cKey=>$cVal){ if($cPos=strpos($cKey,$cStr="TAG")) $tidyCns["tags"][$cVal]="$cStr : ".substr($cKey,$cPos+strlen($cStr)+1); elseif($cPos=strpos($cKey,$cStr="TYPE")) $tidyCn
3.1. Webサーバとプログラミング環境の整備 スクレイピングをするためには、幾つか準備するものが必要です。以下、その環境整備について記載します。 ■ Webサーバ スクレイピングしたいサイトから情報を取得・加工するためにはWebサーバが必要です。またWebサーバにはサーバサイドプログラミングができるようなプログラミング言語が必要になります。また、Webサーバは外部のサイトに接続できるような場所においておく必要があります。なお、ここではproxyを越えて情報を取得・加工する方法についても述べる予定です。 ■ プログラミング言語 Webサーバ上で動作するプログラミング言語には幾つか種類があります。最も有名なのはperlだと思います。perl以外の言語ではphpやrubyなどがあります。このサイトではphpを用いて話しを進めていきます ■ phpのライブラリ phpには幾つかの便利なライブラ
1. はじめに このサイトは php を利用したスクレイピング処理の具体的手法について記載されたサイトにしようと思っています。なので、あまり面白いサイトではありません。内容も偏重していることと思いますが、ご質問などがございましたら、りょーちまでご連絡ください。 1.1. スクレイピングとは スクレイピングの話しを始める前に、現在のWebサービスについて幾つか言及しておきます。 現在様々な会社が様々なWebサービスを展開しています。かなり昔、今よりWebサイトそのものが少ない頃の時代は、HTMLファイルを手動で作成することが殆どでした。しかし、現在はバックグラウンドにデータベースが存在し、データベースの内容を動的に表示し、ページを作成するようなサイトがかなり多くなっています。 さて、データベースを利用するメリットは何でしょうか? 幾つかの視点が挙げられると思います。 最も重要な点は、ひとつひ
WordPressのセキュリティをアップする11のポイントをPro Blog Designのエントリーから紹介します。 11 Best Ways to Improve WordPress Security セキュアなデータベースを構築する。 他のアプリケーションと共有しないWordPressのためだけのデータベースを使用する。 データベースへのアクセスは限定する。 データベースのパスワードは強固なものにする。 「wp-config.php」の設定。 セキュリティキーを設定する。 セキュリティキーツール 1.1でランダムなキーが生成されます。 テーブル名の接頭辞($table_prefix)を「wp_」以外のものに変更する。 管理画面のユーザー名にデフォルトの「admin」を使用しない。 ユーザー名はphpMyAdminなどで変更できます。 管理画面のパスワードは複雑なものにする。 英数記号
明日から12月ですね、ichikawaです。 今年はサンタさんに「足専用湯たんぽ」をお願いするつもりです。 今回は今さらかも知れませんが、先日マニュアルを読む機会があったので「PEAR::MDB2」をご紹介します。 PEAR::MDB2は、PEAR(PHPのライブラリ)のパッケージの1つで、PHPからDBを扱う際などに使用します。 PEAR::DBをお使いの方もいらっしゃるかもしれませんが、現在はこちらの「PEAR::MDB2」が推奨されています。(参考記事:まだ、PEAR::DBをお使いの方へ) インストール PEAR::MDB2のインストールは以下の通りです。 お使いのDBの種類によって適切なドライバもインストールして下さい。 pear install MDB2 MySQLの場合 pear install MDB2_Driver_mysql PostgreSQLの場合 pear ins
A5:SQL Mk-2は複雑化するデータベース開発を支援するために開発されたフリーのSQL開発ツールです。 高機能かつ軽量で、使い方が分かりやすいことを目標に開発されています。 SQLを実行したり、テーブルを編集するほかに、SQLの実行計画を取得したり、ER図を作成したりすることが出来ます。 特徴・機能 OCI接続・直接接続・ADOまたはODBCを介したDBへの接続 Oracle DatabaseはOCI経由の接続・直接接続が出来ます。 PostgreSQLとMySQLは直接接続が出来ます。 Microsoft SQL Serverは、OLE DBプロバイダを直接呼び出した接続ができます。 IBM DB2は、ODBCドライバを直接呼び出した接続ができます。 その他のデータベースは、ADOまたはODBCを利用して接続します。 Oracle, PostgreSQL, MySQLは、A5:SQL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く