是否可以在MySql连接字符串中设置连接排序规则以及如何在服务器上设置用于新连接的默认设置。
我无法做的两件事:
SET COLLATION_CONNECTION
,因为我正在使用实体框架来完成对我的所有调用我想要指定的是我的web.config文件中的某个连接字符串参数,如:
"User id=dbuser;Password=dbpass;Host=dbserver;Database=testung;Collation=utf8_general_ci"
但无法识别Collation
设置/变量。
我已尝试过此代码,因为@Devart建议但无效:
partial void OnContextCreated()
{
System.Data.Common.DbCommand command = this.Connection.CreateCommand();
command.CommandText = "set collation_connection = utf8_slovenian_ci;";
command.CommandType = System.Data.CommandType.Text;
this.Connection.Open();
command.ExecuteNonQuery();
// this.Connection.Close();
}
答案 0 :(得分:1)
我们建议您实现OnContextCreated部分方法。
您可以访问其中的商店连接,并且可以使用此连接执行ADO.NET命令“SET COLLATION = ...”。
答案 1 :(得分:0)
如果有其他人偶然发现此问题或想要在打开连接时发出命令:OnContextCreated的答案不再有效,因为该方法不再存在/不再受支持。
我用于执行java.io.FileNotFoundException: /project_root/.build/package/modules/exploded/my.war/WEB-INF/lib/xxx.jar (No such file or directory)` How sweet of it.
的替代方法是将SET NAMES <character set used by the database>
附加到您的连接字符串。根据Devart的文档,这也适用于PostgreSQL,MSSQL和Oracle
当访问数据库连接的属性并单击;initialization command=\"SET NAMES '" + CharSet + "';\"
按钮时,也可以在EntityDeveloper中设置此属性。