PostgreSQLの小计

1。

コーディングと同じ、または文字化けのデータベースのODBC構成の符号化に注意を払う、ODBC時間を使用してください。これは、そのようなコードとしてODBCコネクタはUTF8で、データベースをコーディング、文字エンコーディングテーブルを提案され、ごみの問題を回避

2。

Windowsでは、MySQLをインストールした後、システムが復元されたときの問題を回避するために、非システムディレクトリにデータディレクトリ(データディレクトリ)を示唆しました。

  • MySQLdataにドライブDを作成します。
  • 新しいファイルのパーミッションを増やすにはNetworkService
  • 最後のデータのデータの完全なコピー
  • DATADIR内のmy.iniオプションを変更= D:\ MySQLdataに(使用/起動に失敗することがあり、\することに注意してください)
  • サービスを再起動するか、直接、システムを再起動

3。

64ビット上のマシンは、64データベース、32データベースを設置することができるが、ODBC(すなわちコネクタ)と、プログラムがプログラムは、32ビットである場合は、32ビットODBC(コネクタ)が、32odbcインストールを使用する必要があり、関係を有する設置することができますそれが64であるため、64ビットシステムでは、メニューバーのODBC管理ツールを介してアクセスし、表示されていないが、64の場合、32を追加し、その後、SYSWOW64を見つけるodbcad32.exeを実行するために、システムのwindowsディレクトリに必要です窓/ system32に/ odbcad32.exeを内のビット。これら二つのディレクトリノートの名前は、64ビットシステムの設計上のMicrosoft 32プログラムと互換性があります。

4。

OTL接続データを使用して見てする必要があるとき、UTF8をサポートしていないようです

5。

プログラム名で使用されるユーザDSN名は、実際の名前であり、そしてデータベースが同じでない場合、混乱、ODBCに同じ名前のデータベースに追加しました

6。

インストールODBCがロードすることはできませんが、することができ、サーバーには、対応するWindowsのC ++ライブラリが存在しない、ODBC新しすぎる設置することができる指定されたモジュールの問題を見つけ、最新のVC ++ライブラリをインストールすることはできません

7。

ODBを必要としているdetail-、文字化けして読み、データベースがUTF8ではなく、UTF8ですが、コード内でエンコード読んだ後、構成の問題は、ODBCかもしれないが、我々が遭遇ODBCの問題は、ANSIドライバで、データベースはUTF8です> Connection(接続) - > Connect latin1の文字セットは、UTF8も配置問題
65001 Navicatは接続(UTF8)で符号化されているプロパティは、使用される文字セットに対応し、LATIN1内部ODBCに対応するので、ここでのMySQL ODBCにUTF8であります

PS。この問題を解決することができ、最新のNavicatとMySQL独自のMySQLコネクタC ++を使用するには、それらの接続されたすべての設定オプションは自動的にutf8文字のデザイン、Navicatはデータベースに応じて選択されます

8。

MySQLは、C ++を接続する我々のアプリケーションに対応するべきでインストールは、アプリケーションは、32ビットであり、32ビット、および32または64になり接続データベースとは無関係です

9。

>コードgeneration->ランタイムライブラリ - - mysqlの文字列でSQLSTRINGを使用した場合のC ++は互換性がありませんmysqlのネットは正式コードのC / C ++コンパイルので、クラッシュが、そこにある接続> / MD、そうでない場合は、これを、それが普遍的にすることはできません、同じに自分のプロジェクトを入れて、文句を言うでしょう。

あなたのプロジェクトたくさんの悩みを変更する場合は、ソースコードをコンパイルするために取得することができます。しかし、窓は非常に面倒でコンパイル。

10。

使用mysqlのC ++コネクタ需要ブースト库
C / C ++ - >一般- >追加インクルードディレクトリ添加
ブースト
C:/プログラムファイル(x86の)/ MySQLは/ MySQLのコネクタC ++ 1.1.9 /含ま

リンカー- >一般- >追加ライブラリディレクトリ添加
C :/プログラムファイル(x86の)/ mysqlの/ mysqlのコネクタC ++ 1.1.9 / libには/ opt

リンカー>入力- >追加の依存関係を添加
mysqlcppconn.lib

11。

MySQLのC ++コネクタは、以下のヘッダファイルを参照する必要が使用

#include " mysql_connection.h "  の#include <cppconn / driver.h>  の#include <cppconn / exception.h> の#include <cppconn / resultset.h> の#include <cppconn / statement.h> の#include <cppconn / prepared_statement。 H>

 

12。

LinuxのコンパイラのMySQLコネクタのエラー
CMAKE_CXX_COMPILER
ためのgcc-C ++がインストールされていません。

13。

cmakeの。-DBOOST_ROOT =を/ mnt / DBBACKUP / boost_1_65_1
指定されたブーストディレクトリ、それは絶対パスでなければなりません

14。

トライアルMySQLのコネクタC ++、およびエンジニアリングのデバッグとリリースは、対応するDLLとLIBに対応する場合には、それ以外の場合は、文字列の使用が文句を言うだろう

15。

++コネクター・プロジェクトcをコンパイルしたMySQLの公式サイトによると、その後、対応するcmakeのと他のツールのリリースとデバッグバージョンをコンパイルし、あなたは、Visual Studioのインストールディレクトリの下に見つけることができ、コンパイル時間をそれらにLIBに対応している必要があり、この利点は、あなたが直接使用することができるということです、関数の名前を見ていないでDLL関数は、対応するDLLを使用する必要があるディレクトリに過去を置きます

16。

データベース、接続はデフォルトで、何のコードがUTF8のBOMがなく、指定されたコーディングがBOMをコードするのutf8 UTF8は、デフォルトでは非BOMのUTF8を使用することですmysqlのworkbentch

17。

フルPROCESSLISTを表示し
、現在のデータベース接続を動的に表示
キル2222
プロセスを殺すために

18。

= 2 innodb_flush_log_at_trx_commit  
#0 :.ブラシが0の値innodb_flush_log_at_trx_commit書き込まれる場合、トランザクションが(実行のスレッドのMySQLのマスタ・スレッドによって実行される任意の操作なしにコミットされた場合、1秒あたりのディスク・ログ・ファイルにログバッファ  
#メイン第二のスレッドごとのバッファをREDOログますディスクに書き込まれたファイル(REDOログ)をREDOログにかかわらず、トランザクションが提出されているかどうかの)デフォルトのログファイルib_logfile1、ib_logfile0です  
#1:1にデフォルト値に設定すると、あなたは、トランザクションをコミットするたびに、ログバッファがログにフラッシュされます。  
#2:2に設定した場合、各トランザクションがログを書き込むために提出されますが、操作のブラシを実行しません。第二タイマーは、ログファイルを磨くます。なお、それは確かにスケジューリングプロセスに応じて、ディスクにブラシます毎秒100%を保証するものではありません。  
#すべてのトランザクションがキャッシュされているファイルシステムとファイルシステムへの書き込みのみ呼び出され、ここで書かれているトランザクション・ログに書き込まれたデータをコミットするので、これは、書き込みデータが書き込まれていることを保証するものではありません物理ディスク  
#1は、完全なACIDを確保するために、デフォルト値です。もちろん、あなたがより高い性能と引き換えに1以外の値に、この項目を設定できますが、システムがクラッシュしたとき、あなたはデータの1秒を失うことになります。  
#は、その後、0に設定mysqldプロセスがクラッシュし、彼らは、トランザクションの最後の秒を失うことになります。2を設定し、ときに、オペレーティングシステムのクラッシュや電源障害のみデータの最後の1秒を失うことになります。回復時間をやってInnoDBは、この値を無視します。  
#要約  
#1は最も安全なコースに設定しますが、パフォーマンスのページには、最悪(他の二つのパラメータに関連しますが、容認できない)です。あなたは、データの一貫性と整合性を求めていない場合は、このような高い同時書き込みログサーバとしてのみ最も性能要件は、より高いパフォーマンスを得るために、0に設定している場合、それは、2に設定することができます 

19。

最大パケット長を送受信するのmax_allowed_pa​​cket = 16Mの#サーバ

20。

インストールが完了した後のMysql、このセットが非常に小さい、それは8Mは、読んでたときに多くの、あまりにも多くのディスク操作、及びカトンシステム全体を記述するために、データベースを引き起こす可能性がありますする必要があります。だからここにいくつかの大きなを設定する必要があり、これは、MySQLサーバを実行するときに修正されなければならないパラメータがあります

= 64M innodb_buffer_pool_size  
#InnoDBはMyISAMのとは違って、バッファプールを使用して、元の索引データを格納する。  
#大きなあなたはデータがディスクI /少ないO.のために必要となるテーブルアクセスしている、ここで設定した  
スタンドアロンで#をデータベースサーバ上で、あなたは80%ののサーバーの物理メモリサイズにこの変数を設定することができ  
、オペレーティング・システムのページングバンプを引き起こす可能性があり、物理的メモリの競争に、それ以外の場合は、あまり大きく設定しないでください。#。  
#(注)各32ビットシステム上のプロセスは2-3.5Gユーザレベルのメモリの制限を制限することができる、  
あまりにも#に設定しないでください。

 21。

PostgreSQLの実行後、判定結果は成功で、いくつかの結果があります

typedefを列挙
{ 
    PGRES_EMPTY_QUERY = 0、         / * 空のクエリ文字列が実行された* / PGRES_COMMAND_OK、/ * *何も返さないクエリコマンドは、*バックエンドで適切に実行されたが* / PGRES_TUPLES_OK、/ * だったタプルを返すクエリコマンド*バックエンドで適切に実行、のPGresult *は、結果のタプルが含まれ* / PGRES_COPY_OUTを、/ * コピーアウト進行中のデータ転送* / PGRES_COPY_IN、/ * コピー進行中のデータ転送には* / PGRES_BAD_RESPONSE、/ *予期しない応答が*バックエンドからrecv'dた* / PGRES_NONFATAL_ERROR、/ * 予告や警告メッセージ* / PGRES_FATAL_ERROR、/ * クエリ失敗* / PGRES_COPY_BOTH、/ * コピー/アウト進行中のデータ転送* / PGRES_SINGLE_TUPLE / * 単一のタプル大きな結果セットから* / } ExecStatusType。

成功は、第二の値(例えば、挿入、更新など)が正しいリターンへの復帰ではない、最初の空のクエリが正常である返すだけでなく、一つであり、第三は、クエリが戻り値(SELECTなど)を返すする権利を有しています

おすすめ

転載: www.cnblogs.com/studywithallofyou/p/11351346.html