修改了插入数据时发生错误时输出错误sql语句
修改了插入数据时字符串数据‘号的问题
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..e206d70
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..7038ae8
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 2.7.3 virtualenv at ~/Dev/py27-dev64" project-jdk-type="Python SDK" />
+</project>
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..6e94566
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/v2convert.iml" filepath="$PROJECT_DIR$/.idea/v2convert.iml" />
+    </modules>
+  </component>
+</project>
+
diff --git a/.idea/other.xml b/.idea/other.xml
new file mode 100644
index 0000000..9d2e7e9
--- /dev/null
+++ b/.idea/other.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="PyDocumentationSettings">
+    <option name="myDocStringFormat" value="Plain" />
+  </component>
+</project>
+
diff --git a/.idea/scopes/scope_settings.xml b/.idea/scopes/scope_settings.xml
new file mode 100644
index 0000000..922003b
--- /dev/null
+++ b/.idea/scopes/scope_settings.xml
@@ -0,0 +1,5 @@
+<component name="DependencyValidationManager">
+  <state>
+    <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+  </state>
+</component>
\ No newline at end of file
diff --git a/.idea/testrunner.xml b/.idea/testrunner.xml
new file mode 100644
index 0000000..0d97b74
--- /dev/null
+++ b/.idea/testrunner.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="TestRunnerService">
+    <option name="projectConfiguration" value="Unittests" />
+    <option name="PROJECT_TEST_RUNNER" value="Unittests" />
+  </component>
+</project>
+
diff --git a/.idea/v2convert.iml b/.idea/v2convert.iml
new file mode 100644
index 0000000..1ba372b
--- /dev/null
+++ b/.idea/v2convert.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="jdk" jdkName="Python 2.7.3 virtualenv at ~/Dev/py27-dev64" jdkType="Python SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
+
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..c80f219
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>
+
diff --git a/convert-example.json b/convert-example.json
index 2053606..def9d61 100755
--- a/convert-example.json
+++ b/convert-example.json
@@ -38,7 +38,7 @@
                         OPENDATE, CLOSEDATE, CARDVERNO, LASTSAVED",

         "remark": "导入卡表前更新 begin_time 不能为空",

         "pre_exec" : ["update ykt_cur.t_pif_card set begin_time='20061001' where card_id=43430"],

-        "dst_pre_exec": ["update t_card where cardid=10"],

+        "pre_dst_exec": ["update t_card where cardid=10"],

         "post_exec": ["update t_card set cardphytype=20"]

     }

 ]

diff --git a/v2convert.py b/v2convert.py
index d23a210..218a5fa 100755
--- a/v2convert.py
+++ b/v2convert.py
@@ -12,7 +12,7 @@
 import re

 

 

-VERSION = "1.4"

+VERSION = "1.5"

 SYSENCODING = locale.getdefaultlocale()[1]

 

 if not SYSENCODING:

@@ -111,7 +111,7 @@
             self._dst_db = self._connect_db(self._dst_type, **param)

             print u"连接目标库成功"

         except Exception, ex:

-            print u"连接数据失败, {0}".format(ex)

+            print u"连接数据失败, {0}".format(str(ex).decode('utf-8'))

             return

 

         self._convert()

@@ -202,19 +202,21 @@
                 elif isinstance(data, float):

                     v.append('%f' % data)

                 elif isinstance(data, str) or isinstance(data, unicode):

-                    v.append("'{0}'".format(data))

+                    v.append("'{0}'".format(data.replace("'", "''")))

                 elif data is None:

                     v.append('NULL')

                 else:

                     v.append(data)

             values = ",".join(v)

-            insert_sql = 'insert into {0} ({1}) values({2})'.format(rule['name'],

-                     rule['dest_column'], values)

+            values = values.decode('utf-8')

+            insert_sql = u'insert into {0} ({1}) values({2})'.format(rule['name'],

+                         rule['dest_column'], values)

             # print insert_sql

             count += 1

             if not self._dst_db.exec_sql(insert_sql):

                 print u"导入第{0}条记录错误".format(count)

                 self._dst_db.rollback()

+                print u"SQL<{0}>".format(insert_sql)

                 return False

 

             if count % self._commit_count == 0: