作者 | 主题 |
---|---|
手机用户20180103251645 新手 经验值: 10 发帖数: 2 精华帖: 0 |
楼主 2018-01-16 10:07:54
主题:wincc oa连接外部数据库mysql 怎么写 doc里面没有windows下连接mysql的例子,Google也搜不到,急求啊朋友们!!!!! |
地瓜工厂 新手 经验值: 38 发帖数: 1 精华帖: 0 |
2楼 2018-04-17 22:10:17
主题:回复:wincc oa连接外部数据库mysql 怎么写 int dbExecCmd(dbConnection conn,string sqlString,dyn_dyn_anytype &result) { int rc=0; if (dbBeginTransaction(conn)==0) { dbRecordset rs; dbCommand dbCmd; dyn_string cols=makeDynString(""); rc=dbStartCommand(conn,sqlString,dbCmd); if(!rc) { rc=dbExecuteCommand(dbCmd,rs); while(!rc && !dbEOF(rs)) dbGetResult(rs,result,cols,0); dbCloseRecordset(rs); dbFinishCommand(dbCmd); } if(!rc) dbCommitTransaction(conn); else dbRollbackTransaction(conn); } return rc; } 这是我自己写的,我的CONN是外部传入的 你自己初始化一个 dbConnection 在操作系统的ODBC数据源上 你建立一个自己的DSN 连接到MSSQL 如果你测试连接成功 那么OA调用也应该成功 conn 类似下方这样 int rc; dbConnection conn; string connString="DSN=ABC;UID=123;PWD=456789;"; rc = dbOpenConnection (connString, conn); 我写的这些基本上绝对不会有问题。都是经过3.13版测试的 wincc oa 有点坑,有些常规函数应该自动分配内存地址然后返回一个地址,但是另一个接受地址的函数居然不认。不明白CTRL底层是怎么写的,反正很别扭。 |