存儲過程的元數據:無法當我試圖執行從C#程序我得到這個錯誤檢索常規
Unable to retrieve stored procedure metadata for routine 'test'. Either grant SELECT privilege to mysql.proc for this user or use "check parameters=false" with your connection string.
這是連接字符串:
<add name="MySqlCS" connectionString="Data Source=192.168.x.x;Initial Catalog=z;Persist Security Info=True;User ID=y;Password=y providerName="MySql.Data.MySqlClient"/>
然後我嘗試添加該"check parameters=false"
而且我得到這個:
Access denied for user 'y'@'pcname.domain.local' (using password: YES)
和新的配置是:
<add name="MySqlCS" connectionString="Data Source=192.168.x.x;Initial Catalog=z;Persist Security Info=True;User ID=y;Password=y CheckParameters=false" providerName="MySql.Data.MySqlClient"/>
我可以從MySQL工作臺具有相同的憑據,沒有問題的連接都沒有。
下面是C#代碼:
public static DataSet GetTest(string cname)
{
try
{
OpenConnection();
DataTable[] tables = new DataTable[2];
IDbCommand cmd = myConnection.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "test";
IDataParameter parCode = cmd.CreateParameter();
parCode.ParameterName = "Client";
parCode.DbType = DbType.String;
parCode.Value = cname;
parCode.Direction = ParameterDirection.Input;
cmd.Parameters.Add(parCode);
//cmd.ExecuteReader();
IDataReader dr = cmd.ExecuteReader();
DataSet dset = new DataSet();
dset.Load(dr, LoadOption.PreserveChanges, tables);
return dset;
}
finally
{
CloseConnection();
}
}
那麼,我有MySql.Data.dll,它的參考,因爲它應該... –
你用root用戶訪問? – Microtechie
不是。它是新創建的用戶。 –