- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在就如何通过 ironpython 脚本将 sql 数据导入数据库寻求帮助。
目前我的脚本如下,先运行这个脚本:
import clr;
import System;
clr.AddReference("TCAdmin.SDK");
from TCAdmin.SDK.Misc import Random;
from System import String;
ThisService.Variables["MySQLUser"] = String.Format("exile_{0}", ThisService.ServiceId);
ThisService.Variables["MySQLPassword"] = Random.RandomString(10,True,True);
ThisService.Save();
然后这个脚本在之后运行:
import clr;
import System;
clr.AddReference("TCAdmin.DatabaseProviders.MySql");
clr.AddReference("TCAdmin.SDK");
from TCAdmin.DatabaseProviders.MySql import MySqlManager;
from System import String;
mysql_server="localhost";
mysql_root="root";
mysql_password="Password";
with MySqlManager() as mysql:
escapeduser=mysql.PrepareSqlValue(ThisService.Variables["MySQLUser"]);
escapedpass=mysql.PrepareSqlValue(ThisService.Variables["MySQLPassword"]);
mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Pooling=False;", mysql_server, mysql_root, mysql_password));
mysql.ExecuteNonQuery(String.Format("DROP DATABASE IF EXISTS {0};", escapeduser));
if mysql.Execute(String.Format("SELECT COUNT(*) as count FROM mysql.user WHERE user='{0}' AND host='localhost';", escapeduser)).Rows[0].Item[0] == 1 :
mysql.ExecuteNonQuery(String.Format("DROP USER {0}@localhost;", escapeduser));
mysql.ExecuteNonQuery(String.Format("CREATE DATABASE {0};", escapeduser));
mysql.ExecuteNonQuery(String.Format("GRANT ALL PRIVILEGES ON {0}.* TO '{0}'@'localhost' IDENTIFIED BY '{1}';", escapeduser, escapedpass));
mysql.ExecuteNonQuery(String.Format("USE '{0}';", escapeduser));
mysql.ExecuteNonQuery(String.Format("""CREATE TABLE IF NOT EXISTS `account` (
`uid` varchar(32) NOT NULL,
`clan_id` int(11) UNSIGNED DEFAULT NULL,
`name` varchar(64) NOT NULL,
`money` double NOT NULL DEFAULT '0',
`score` int(11) NOT NULL DEFAULT '0',
`kills` int(11) UNSIGNED NOT NULL DEFAULT '0',
`deaths` int(11) UNSIGNED NOT NULL DEFAULT '0',
`first_connect_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_connect_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_disconnect_at` datetime DEFAULT NULL,
`total_connections` int(11) UNSIGNED NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;""", escapeduser));
当我运行脚本时出现错误:
您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“exile_2”附近使用的正确语法
TCAdmin.SDK.Database.DatabaseException:您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“exile_2”附近使用的正确语法 ---> 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“exile_2”附近使用的正确语法 --- 内部异常堆栈跟踪结束 --- 在 Microsoft.Scripting.Interpreter.ThrowInstruction.Run(InterpretedFrame frame ) 在 Microsoft.Scripting.Interpreter.Interpreter.RunInstructions(InterpretedFrame 框架) 在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame 框架) 在 Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1) 在 IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx) 在 IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope 范围) 在 Microsoft.Scripting.Hosting.ScriptSource.Execute(ScriptScope 范围) 在 TCAdmin.SDK.Scripting.Engines。 TCAdmin.GameHosting.SDK.Objects.GameScript.ExecuteEventScripts(ScriptEngineManager scriptEngineManager、ServiceEvent eventScript、ObjectList 脚本)在 TCAdmin.GameHost 的 TCAdmin.SDK.Scripting.ScriptEngineManager.Execute() ing.Automation.AutomationProcesses.Ձ() 在 TCAdmin.GameHosting.Automation.AutomationProcesses.Start() 在 TCAdmin.TaskScheduler.ModuleApi.StepBase.Start(对象参数)
最佳答案
所以我能够通过使用以下脚本导入实际的 SQL 文件来解决这个问题。
import clr;
import System;
clr.AddReference("TCAdmin.DatabaseProviders.MySql");
clr.AddReference("TCAdmin.SDK");
from TCAdmin.DatabaseProviders.MySql import MySqlManager;
from System import String;
from System.IO import File, Path;
mysql_server="localhost";
mysql_root="root";
mysql_password="Password";
if not ThisService.Variables.HasValue("MySQLUser") :
Script.Exit();
backupfile=Path.Combine(ThisService.RootDirectory, "dbname.sql");
with MySqlManager() as mysql:
escapeduser=mysql.PrepareSqlValue(ThisService.Variables["MySQLUser"]);
escapedpass=mysql.PrepareSqlValue(ThisService.Variables["MySQLPassword"]);
mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Pooling=False;", mysql_server, mysql_root, mysql_password));
mysql.ExecuteNonQuery(String.Format("DROP DATABASE IF EXISTS {0};", escapeduser));
if mysql.Execute(String.Format("SELECT * FROM mysql.user WHERE user='{0}' AND host='localhost';", escapeduser)).Rows.Count == 1 :
mysql.ExecuteNonQuery(String.Format("DROP USER {0}@localhost;", escapeduser));
mysql.ExecuteNonQuery(String.Format("CREATE DATABASE {0};", escapeduser));
mysql.ExecuteNonQuery(String.Format("GRANT ALL PRIVILEGES ON {0}.* TO '{0}'@'localhost' IDENTIFIED BY '{1}';", escapeduser, escapedpass));
if File.Exists(backupfile) :
with MySqlManager() as mysql2:
mysql2.Connect(String.Format("Data Source={0};Database={1};User Id= {1};Password={2};Pooling=False;", mysql_server, ThisService.Variables["MySQLUser"], ThisService.Variables["MySQLPassword"]));
mysql2.ImportDatabase(backupfile);
File.Delete(backupfile);
关于mysql - 如何使用 ironpython 导入 mysql 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36806224/
虽然我熟悉使用 PythonModule 程序集属性制作 .net 程序集,但我对如何制作子模块有点好奇。这会是类(class)中的类(class)吗?即:如果我有一个定义为 IronPython 模
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
有一个名为“Entities”的 IronPython 包。该包包含一个“Entity.py”文件,该文件定义了“Customer”类和“Address”类。 如果我运行这个程序: customer
所以我的数据表结构如下 ColumnName1 | ColumnName2 | ColumnName3 ------------|-------------|------------ value1
我想将 ironpython 作为脚本运行,而不是将 ironpython 代码编译成可执行文件。有没有办法将ironpython作为脚本运行? 最佳答案 是的,解释器安装在 Program File
我在 IronPython 中托管 IronPython。我没有找到使用等效的命令行参数初始化它的方法:-X:FullFrames . 我的代码有点像这样: import clr clr.AddRef
我们将 ironpython 嵌入到我们的应用程序中,以便脚本可以在我们的应用程序上下文中执行。 我使用 Python.CreateEngine() 和 ScriptScope.Execute() 来
我一直在考虑添加 IronPython 来扩展我支持的科学应用程序的想法。 这是一个好主意还是一个可怕的主意? 有没有在生产应用程序中使用 IronPython 的好例子。我看过 Resolver,它
我正在使用 IronPython 脚本来重置所有过滤器并设置一些文档属性。 “FUTUREONLY”下面的文档属性是一个下拉属性控件,根据表达式有 3 种可能的选择。当我运行脚本时,它会将文档属性重置
在查看了这两个项目中的每一个之后,似乎两者都非常相似。两者都运行在 CLI 之上,都有 Python 风格的语法,都使用 .NET 而不是标准的 Python 库。 那么,它们之间的区别和各自的优势是
我正在尝试使用 Microsoft.Web.Administration 库远程管理 IIS7 安装。 我在 IronPython 中执行此操作: import Microsoft.Web.Admin
有没有等同于Cython的东西对于 IronPython?也就是说,一种使用类型注释来编译简单函数以提高性能的方法?我知道 IronPython 的一个好处是能够快速地用 C# 或 F# 之类的东西编
我正在考虑使用 IronPython 开发一个小型应用程序,但是我想将我的应用程序分发给非技术人员,因此理想情况下我希望能够为他们提供我的应用程序的标准快捷方式以及他们需要的说明首先安装 IronPy
我在条形图上使用以下代码来切换维度。 myChart.XAxis.Expression = "[Sales]" myChart.BarWidth = 1
如何使用 Ironpython 返回 Spotfire 文件中文档属性的完整列表。 属性可以通过设置 Document.Properties["myProperty"] = "myValue" 我想做
我正在尝试使用 IronPython.Hosting 和 Pygments 为我的博客创建 ASP.NET 语法荧光笔。问题是,如果没有黑客攻击,Pygments 至少不能在 IPy 2.0 上运行。
我在 Windows XP (SP3) 系统上安装了 Aptana Studio 3 和 Eclipse 4.2.1(带 PyDev 和 PyDev 扩展)。我一直未能成功加载外部 .NET 程序集。
大家早上好, 我已经在这个问题上工作了几天,但我找不到解决办法。我已经研究并谷歌搜索无济于事。任何帮助/见解将不胜感激。我正在尝试创建一个按钮,单击该按钮时将自动通过日期过滤器(比如说从 1/1/15
想必大家都已经听说过some key developers leaving the Dynamic Languages team的消息了。由于他们认为 Microsoft 对动态语言的支持正在减弱。
我试图从经理的角度回答这个问题:如果我们用 IronPython 而不是 C# 编写应用程序,我们会招致什么整体性能损失? 这个问题是针对那些可能已经进行了一些测试、基准测试或已经完成从 C# 到 I
我是一名优秀的程序员,十分优秀!