Posts filed under 'MySql'
Microsoft Analysis Services con MySql

Saludos a todos en el día de hoy coloco una solución rápida para utilizar el provider de MySql en Analysis Services.
Al utilizar el provider manda un error sobre los corchetes
Hay que bajarse el codigo fuente de su respectiva pagina:
mysql-connector-net-6.0.4-src.zip
Agregamos en el archivo de mysql-connector-net-6.0.4-src\MySql.Data\Provider\Source\command.csen CommandText la siguiente linea
cmdText = SQLServerBracketFilter(cmdText);
public override string CommandText
{
get { return cmdText; }
set
{
cmdText = value;
statement = null;
if (cmdText != null && cmdText.EndsWith("DEFAULT VALUES"))
{
cmdText = cmdText.Substring(0, cmdText.Length - 14);
cmdText = cmdText + "() VALUES ()";
}
cmdText = SQLServerBracketFilter(cmdText);
}
}
Ademas agregamos el siguiente metodo
string SQLServerBracketFilter(string query)
{
if (query.Contains("[") && query.Contains("]"))
{
Regex expStr = new Regex(@"(\x27.*?)\x5B.*?\x5D(.*?\x27)");
Regex expSql = new Regex(@"(\x27.+?|\x27?)\x5B.*?\x5D(.+?\x27?|\x27?)");
foreach (Match match in expSql.Matches(query))
{
if (!expStr.IsMatch(match.Value))
{
string replace = match.Value.Replace("[", "").Replace("]", "");
query = query.Replace(match.Value, replace);
}
}
}
return query;
}
Recompilamos el proyecto de MySql.Data
Ahora pasamos a bajarnos el GACView
GACView
con esta herramientas podrás sustituir la versión instalada por la modificada de MySql.Data.dll
Add comment Julio 7, 2009