#import "ADOLib.dll". int CreateConnection()。 int DestroyConnection()。 int OpenConnection(string ConnectionString,int CursorLocation,int CommandTimeout); int CloseConnection()。 int IsOpenConnection()。 int Execute(string CommandText,int ExecuteOption); int BeginTrans()。 int CommitTrans()。 int RollbackTrans()。 int OpenTable(string Qry,int CursorLocation,int CursorType,int LockType,int Options).OpenTable(string Qry,int CursorLocation,int CursorType,int LockType,int Options); int CloseTable()。 int Requery()。 int Update(); int UpdateBatch()。 int Cancel()。 int CancelBatch()。 int CancelUpdate()。 int Find(string Criteria,int SearchDirection,int Start); int Filter(string Criteria); int BOF()。 int EOF()。 int MoveFirst()。 int MoveLast()。 int MoveNext()。 文字列 TableStatus()。 int FieldsCount()。 文字列 FieldName(int I); string FieldType(int Name)。 文字列 FieldTypeByPos(int I)。 string GetFieldValue(string Name)。 文字列 GetFieldValueByPos(int I)。 int SetFieldValue(string Name)。 int SetFieldValueByPos(int I)。
これを試してみてください。
BTRVODKAex
そのために、c++cliによる中間DLLが作成されている。mqlからマネージドコードを直接呼び出すことはできません
mysqlデータベースでの作業(情報の読み書き)の安定したソリューションは何ですか? Mysql_wrapperがターミナルをクラッシュさせ続ける。
https://www.mql5.com/ru/code/8623
https://www.mql5.com/ru/code/8623
mysql_wrapperを使用すると、ターミナルがクラッシュします。
ログです。
重大なエラーが発生しました
時刻 : 2009.07.03 13:38
プログラム:クライアント端末
バージョン : 4.00 (ビルド: 224, 2009年5月15日)
OS : Windows XP Professional 5.1 Service Pack 3 (Build 2600)
プロセッサー : 2 x X86 (レベル6)
メモリ : 2086128/291388 kb
例外:C0000005
住所:7C929267
アクセスタイプ:リード
アクセスアドラー:00000004
レジスタ : EAX=0000000000 CS=001b EIP=7C929267 EFLGS=00010217
: ebx=00000000 ss=0023 esp=0012dd60 ebp=0012de1c
: ECX=022F8900 DS=0023 ESI=022F88F0 FS=003b
: edx=022f8910 es=0023 edi=00340000 gs=0000
スタックトレース:77C1C2DE 0055ED21 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
: 00000000 00000000 00000000 00000000
モジュール:
1 : 00400000 002B1000 d:\forexmetatrader - alpari/terminal.exe
2 : 00F70000 00042000 c:program files UNEPSPLITVIEW 2009 JANCSPLAT.DLL
3 : 018F0000 002CD000 c:{windowssystem32xpsp2res.dll
4 : 02050000 00035000 d:\forexmetatrader - alpariعexpertsⒶmysql_wrapper.dll
5 : 02090000 00244000 c:{windowssystem32libmysql.dll
6 : 02560000 00009000 c:{windowssystem32}Amhooker.dll
7 : 08000000 00008000 c:program files
8 : 10000000 00012000 c:{program files}}rocketdock}rocketdock.dll
9 : 40080000 001E8000 c:windowssystem32 Filterutil.dll
10 : 45020000 00131000 c:³³³³³.dll
11 : 5B260000 00038000 c:\windowssystem32/uxtheme.dll
12 : 5BD50000 00056000 c:{windowssystem32/netapi32.dll
13 : 61EC0000 0000E000 c:{windowssystem32}mfc42loc.dll
14 : 698B0000 00058000 c:{windowssystem32}hnetcfg.dll
15 : 71A30000 00040000 c:{windowssystem32}mswsock.dll
16 : 71A70000 00008000 c:{windowssystem32}wshtcpip.dll
17 : 71A80000 00008000 c:{windowssystem32}ws2help.dll
18 : 71A90000 00017000 c:{windowssystem32_ws2_32.dll
19 : 71AB0000 0000A000 c:{windowssystem32Thwsock32.dll
20 : 72CD0000 00008000 c:{windowssystem32}msacm32.drv
21 : 72CE0000 00009000 c:{windowssystem32}wdmaud.drv
22 : 73D90000 000FE000 c:{windowssystem32}mfc42.dll
23 : 746E0000 0004C000 c:\windowssystem32³³msctf.dll
24 : 75310000 0002E000 c:{windowssystem32}msctfime.iime
25 : 76350000 00005000 c:{windowssystem32}msimg32.dll
26 : 76360000 0001D000 c:\WindowsSYSTEM32TIM32.dll
27 : 76380000 00049000 c:{windowssystem32}comdlg32.dll
28 : 76B20000 0002E000 c:\windowssystem32winmm.dll
29 : 76BE0000 0000B000 c:{windowssystem32}psapi.dll
30 : 76C20000 0002E000 c:{windowssystem32}wintrust.dll
31 : 76C80000 00028000 c:{windowssystem32}imagehlp.dll
32 : 76F10000 00027000 c:{windowssystem32}dnsapi.dll
33 : 76F50000 0002D000 c:{windowssystem32}wldap32.dll
34 : 76FA0000 00008000 c:{windowssystem32}winrnr.dll
35 : 76FB0000 00006000 c:{windowssystem32Thrasadhlp.dll
36 : 76FC0000 0007F000 c:{windowssystem32}clbcatq.dll
37 : 77040000 000C7000 c:\windowssystem32comres.dll
38 : 77110000 0008B000 c:{windowssystem32/oleaut32.dll
39 : 773C0000 00103000 c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
40 : 774D0000 0013E000 c:\windowssystem32_ole32.dll
41 : 77910000 000F4000 c:{windowssystem32/setupapi.dll
42 : 77A70000 00096000 c:{windowssystem32}crypt32.dll
43 : 77B10000 00012000 c:{windowssystem32/msasn1.dll
44 : 77B30000 00022000 c:{windowssystem32/apphelp.dll
45 : 77BC0000 00007000 c:{windowssystem32}midimap.dll
46 : 77BD0000 00015000 c:{windowssystem32}msacm32.dll
47 : 77BF0000 00008000 c:{windowssystem32/version.dll
48 : 77C00000 00058000 c:{windowssystem32}msvcrt.dll
49 : 77DC0000 000AC000 c:{windowssystem32}advapi32.dll
50 : 77E70000 00092000 c:{windowssystem32}rpcrt4.dll
51 : 77F10000 00049000 c:{windowssystem32}gdi32.dll
52 : 77F60000 00076000 c:{windowssystem32}shlwapi.dll
53 : 77FE0000 00011000 c:{windowssystem32}secur32.dll
54 : 7C800000 000F8000 c:{windowssystem32/kernel32.dll
55 : 7C900000 000B3000 c:{windowssystem32/ntdll.dll
56 : 7C9C0000 0081B000 c:{windowssystem32shell32.dll
57 : 7E360000 00091000 c:{windowssystem32}user32.dll
コールスタック:
libmysql.dllを 使用することの何が問題なのでしょうか?
データベースへの書き込みは完璧で、読み込みは試していませんが、バグもないのではと推測しています。
libmysql.dllを使用することの何が問題なのでしょうか?
データベースへの書き込みは完璧で、読み込みは試していませんが、障害もなく想定しています。
私にとっては、データベースからの読み込みの方が重要なのです。libmysql.dllでデータベースから読み込むための検証済みのコードをお持ちの方がいらっしゃいましたら、是非ともお送りください。
ここで、libmysql.dllを介してベースから読み取るコードをググってみました。
実行結果
18:01:54 'news001'をコンパイルしています。
18:01:54 news001 USDCHF,H4: deinitialized.
18:01:54 news001 USDCHF,H4: uninit reason 2.
18:01:54 news001 USDCHF,H4:ロード成功。
18:01:54 news001 USDCHF,H4:割り当てました。
18:01:54 news001 USDCHF,H4:接続しました。
18:01:54 news001 USDCHF,H4:¤Fџџџ
18:01:54 news001 USDCHF,H4: MFџPFџUSD
18:01:54 news001 USDCHF,H4: Gџ$Gџ$USD
18:01:54 news001 USDCHF,H4: DGџ_HGџUSD
18:01:54 news001 USDCHF,H4: |GџџUSD
18:01:54 news001 USDCHF,H4: јGџYGџUSD
18:01:54 news001 USDCHF,H4: јGџ џ
18:01:54 news001 USDCHF,H4:,Hџ0HџUSD
18:01:54 news001 USDCHF,H4: dHџwHџUSD
18:01:54 news001 USDCHF,H4: "Hџ "HџUSD
18:01:54 news001 USDCHF,H4: MHџkHџUSD
18:01:54 news001 USDCHF,H4: IџIџUSDなど。
ヒエログリフの問題を解決する方法はないのでしょうか?phpMyAdminで同じクエリを実行した場合のスクリーンショット
MS SQLデータベースと連動する "ラッパー "の設置
ADOLib.mqhのラッパーとCOMサーバーそのものです。
MS SQL(だけではありません!)ADOLib.dllを提供するものです。
ADOLib.mqhはこのようになります。
// enum CursorTypeEnum の定数
#define adOpenUnspecified 4294967295 //$FFFFFFFF;
#define adOpenForwardOnly 0 //$0000000000;
#define adOpenKeyset 1 //$00000001;
#define adOpenDynamic 2 //$00000002;
#define adOpenStatic 3 //$00000003;
// enum LockTypeEnum の定数
#define adLockUnspecified 4294967295 //$FFFFFFFF;
#define adLockReadOnly 1 //$00000001
#define adLockPessimistic 2 //$00000002;
#define adLockOptimistic 3 //$$00000003;
#define adLockBatchOptimistic 4 //$00000004;
// enum ExecuteOptionEnum の定数
#define adOptionUnspecified 4294967295 //$FFFFFFFF;
#define adAsyncExecute 16 //$00000010;
#define adAsyncFetch 32 //$00000020;
#define adAsyncFetchNonBlocking 64 //$00000040;
#define adExecuteNoRecords 128 //$00000080;
#define adExecuteStream 296 //$00000400;
#define adExecuteRecord 2048 //$00000800;
// enum CursorLocationEnum の定数
#define adUseNone 1 //$00000001;
#define adUseServer 2 //$00000002;
#define adUseClient 3 //$00000003;
#define adUseClientBatch 3 //$00000003;
// enum CommandTypeEnum の定数
#define adCmdUnspecified 4294967295 //$FFFFFFFF;
#define adCmdUnknown 8 //$00000008;
#define adCmdText 1 //$00000001;
#define adCmdTable 2 //$00000002;
#define adCmdStoredProc 4 //$00000004;
#define adCmdFile 256 //$00000100;
#define adCmdTableDirect 512 //$00000200;
#import "ADOLib.dll".
int CreateConnection()。
int DestroyConnection()。
int OpenConnection(string ConnectionString,int CursorLocation,int CommandTimeout);
int CloseConnection()。
int IsOpenConnection()。
int Execute(string CommandText,int ExecuteOption);
int BeginTrans()。
int CommitTrans()。
int RollbackTrans()。
int OpenTable(string Qry,int CursorLocation,int CursorType,int LockType,int Options).OpenTable(string Qry,int CursorLocation,int CursorType,int LockType,int Options);
int CloseTable()。
int Requery()。
int Update();
int UpdateBatch()。
int Cancel()。
int CancelBatch()。
int CancelUpdate()。
int Find(string Criteria,int SearchDirection,int Start);
int Filter(string Criteria);
int BOF()。
int EOF()。
int MoveFirst()。
int MoveLast()。
int MoveNext()。
文字列 TableStatus()。
int FieldsCount()。
文字列 FieldName(int I);
string FieldType(int Name)。
文字列 FieldTypeByPos(int I)。
string GetFieldValue(string Name)。
文字列 GetFieldValueByPos(int I)。
int SetFieldValue(string Name)。
int SetFieldValueByPos(int I)。
MS SQL 2005データベース "dbForex "への接続例
int createCnn=0;int openCnn=0;
int Insert=0;
string StringConnection="DSN=dbForex;UID=sa;PWD=;"。
int init()
{
CloseConnection();
DestroyConnection();
int createCnn=CreateConnection();
Sleep(10);
int openCnn=OpenConnection(StringConnection,adUseClient,0);
Sleep(10);
return(0);
} (注)1.Connection(Connection)は、Connection(Connection)ではなく、Connection(Client)です。
操作例です。
int start()
{
//これは、接続が閉じられたり、"混乱 "した場合のためです - 理由は十分です
if (createCnn<=0 || IsOpenConnection()==0)
{
createCnn=0;
openCnn=0;
CloseConnection();
Sleep(10);
DestroyConnection();
Sleep(10);
createCnn=CreateConnection();
Sleep(30);
}.
if (createCnn>0 &&(openCnn<=0 || IsOpenConnection()==0 || Insert==0))
{
openCnn=0;
CloseConnection();
Sleep(10);
openCnn=OpenConnection(StringConnection,adUseClient,0);
Sleep(30);
} (注)openCnnは、openConnection(StringConnection)の略です。
//そして、データベースに刻みを書き込む
string Company=AccountCompany();
string Symb=Symbol();
string CommandText="INSERT INTO Rates (TimeCurrent,AccountCompany,Symb,DateTimeRate,Ask,Bid) "+
"VALUES(")+TimeCurrent()+", "+Company+", "+Symb+", "+DateTimeRate+", "+Ask+", "+Bid+")";
Execute(CommandText,adAsyncFetch);
Sleep(15)です。
}
//+------------------------------------------------------------------------+
//| エキスパートの初期化関数|
//+--------------------------------------------------------+
int deinit()
{
CloseConnection();
DestroyConnection();
return(0);
}.
ADOLib.mqhが「include」ディレクトリにあると仮定し
Library "ディレクトリにあるADOLib。
今すぐ、「the \Library」ディレクトリで、登録します。
このCOMオブジェクトに、regsvr32 ADOLib.dllと入力します。
Enterを押すと、このライブラリが登録されます。
はすべて、コマンドラインコンソールから、またはそのどちらかで行うことができます。
は、トータル・コマンダーとでも言いましょうか。
Vistaを使用している場合は、TCとTCの両方を実行する必要があります。
コンソールを実行する必要があります。
"Administrator "アカウント。