日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

修改CodeSmith中的SchemaExplorer.MySQLSchemaProvider

發(fā)布時(shí)間:2025/4/16 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改CodeSmith中的SchemaExplorer.MySQLSchemaProvider 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

修改C:\Program Files (x86)\CodeSmith\v6.5\Samples\Projects\CSharp\MySQLSchemaProvider\MySQLSchemaProvider.cs

修改GetCommandParameters方法,原本是沒(méi)有實(shí)現(xiàn)的。一直報(bào)錯(cuò)誤信息:GetCommandParameters() is not supported in this release.

/// <summary>/// Gets the parameters for a given command./// </summary>/// <param name="connectionString">The connection string used to connect to the target database.</param>/// <param name="command"></param>/// <returns></returns>public ParameterSchema[] GetCommandParameters( string connectionString, CommandSchema command ){// MySQL does not yet implement INFORMATION_SCHEMA.PARAMETERS// MySQL Connector/Net 1.0.7 is supposed to support DeriveParameters()// However, in my testing there appears to be a bug (throws a NULL reference exception)// This method will be unsupported until a subsequent release of DeriverParameters()// is working.// throw new NotSupportedException( "GetCommandParameters() is not supported in this release." );/*ArrayList a = new ArrayList();ParameterSchema ps;DbConnection cnx = null;DbCommand cmd = null;try{cnx = new DbConnection(connectionString);cmd = new DbCommand(command.Name, cnx);cmd.CommandType = CommandType.StoredProcedure;cnx.Open();IDbCommandBuilder.DeriveParameters(cmd);cnx.Close();foreach(MySqlParameter param in cmd.Parameters){ps = new ParameterSchema(command, param.ParameterName, param.Direction, param.DbType, param.MySqlDbType.ToString(), param.Size, param.Precision, param.Scale, param.IsNullable);a.Add(ps);}}catch{throw;}finally{if (cnx != null)cnx.Close();}return (ParameterSchema[]) a.ToArray(typeof (ParameterSchema));*/string commandText = string.Format("SELECT PARAMETER_NAME, DATA_TYPE, CHARACTER_OCTET_LENGTH, NUMERIC_PRECISION,"+ " NUMERIC_SCALE, 0 IS_NULLABLE, PARAMETER_MODE"+ " FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_SCHEMA = '{0}' AND SPECIFIC_NAME = '{1}' AND ROUTINE_TYPE = 'PROCEDURE' ORDER BY ORDINAL_POSITION", command.Database.Name, command.Name);List<ParameterSchema> parameterSchema = new List<ParameterSchema>();using (DbConnection connection = CreateConnection(connectionString)){connection.Open();DbCommand cmd = connection.CreateCommand();cmd.CommandText = commandText;cmd.Connection = connection;using (IDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)){while (reader.Read()){string name = reader.GetString( 0 );string nativeType = reader.GetString( 1 );long longSize = ( reader.IsDBNull( 2 ) == false ) ? reader.GetInt64( 2 ) : 0;byte precision = ( byte ) ( ( reader.IsDBNull( 3 ) == false ) ? reader.GetInt32( 3 ) : 0 );int scale = ( reader.IsDBNull( 4 ) == false ) ? reader.GetInt32( 4 ) : 0;bool isNullable = ( reader.IsDBNull( 5 ) == false ) && reader.GetBoolean( 5 );string direction = reader.GetString( 6 );ParameterDirection paramDirection = ParameterDirection.Input;switch(direction){case "IN":paramDirection = ParameterDirection.Input;break;case "OUT":paramDirection = ParameterDirection.Output;break;case "INOUT":paramDirection = ParameterDirection.InputOutput;break;default:paramDirection = ParameterDirection.Input;break;}int size = ( longSize < int.MaxValue ) ? ( int ) longSize : int.MaxValue;bool isUnsigned = ( nativeType.IndexOf( "unsigned" ) > -1 );DbType type = GetDbType( nativeType, isUnsigned );parameterSchema.Add(new ParameterSchema(command,name,paramDirection,type,nativeType,size,precision,scale,isNullable));}if (!reader.IsClosed)reader.Close();}if (connection.State != ConnectionState.Closed)connection.Close();}return parameterSchema.ToArray();}

編譯后生成SchemaExplorer.MySQLSchemaProvider.dll,覆蓋程序安裝目錄中SchemaProviders目錄的同名文件。

修改后替換目錄(C:\Program Files (x86)\CodeSmith\v6.5\SchemaProviders\SchemaExplorer.MySQLSchemaProvider.dll)中的同名文件。

?

啟動(dòng)CodeSmith后,需要在Schema Explorer中刪除原來(lái)的MySQL數(shù)據(jù)庫(kù),重新添加,不然會(huì)報(bào)錯(cuò)。

也可以先卸載GAC中的SchemaExplorer.MySQLSchemaProvider.dll,然后將自己修改、編譯并簽名后的SchemaExplorer.MySQLSchemaProvider.dll安裝到GAC中。

?

轉(zhuǎn)載于:https://www.cnblogs.com/qiu2013/p/4268962.html

總結(jié)

以上是生活随笔為你收集整理的修改CodeSmith中的SchemaExplorer.MySQLSchemaProvider的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人与拘一级a毛片 | 亚洲国产婷婷香蕉久久久久久99 | 中文字幕亚洲乱码熟女一区二区 | 成人自拍视频网 | 免播放器在线视频 | 国产午夜精品福利视频 | 999国产精品视频免费 | 亚洲男人天堂2022 | 久久夜色精品国产欧美乱 | 精品免费在线视频 | 午夜67194 | 日本美女全裸 | 国产一区二区日韩 | 国产成人午夜高潮毛片 | 五级毛片 | 国产成人综合视频 | 日韩精品一区二区免费视频 | 国产精品久久久91 | 久人人 | 俺来也俺也啪www色 欧洲一区二区视频 | 国产精品久久久久久久无码 | 最新99热 | 黄av资源 | 中文字幕无码精品亚洲资源网久久 | 伊人青青操 | 91国产丝袜播放在线 | 七月婷婷综合 | 干爹你真棒插曲免费 | 椎名空在线 | 欧美做受高潮动漫 | 国产校园春色 | 国产一区二区视频在线免费观看 | 麻豆网站入口 | 午夜视 | 操操操操操操操操操 | 国产欧美一区二区三区精品酒店 | 亚洲成人精品一区二区三区 | 亚洲A∨无码国产精品 | 国产香蕉视频在线 | 精品黑人一区二区三区观看时间 | 麻豆疯狂做受xxxx高潮视频 | 相亲对象是问题学生动漫免费观看 | 狠狠躁夜夜躁人 | 天堂网在线观看视频 | 青青久久av| 夜夜精品一区二区无码 | 婷婷中文字幕在线 | 亚洲天堂精品视频 | 亚洲国产一区二区在线观看 | 欧美日韩免费一区二区 | 韩国日本欧美一区 | 自拍偷拍激情视频 | 久久久久久免费毛片精品 | 视频这里只有精品 | 成人永久免费 | 国产精品探花在线观看 | 玖玖爱在线精品视频 | 成人一区二区在线观看 | 日本黄色不卡 | 一区二区国产精品精华液 | 性色影院 | 色婷婷97 | 亚洲乱码中文字幕久久孕妇黑人 | 免费看又黄又无码的网站 | 老女人乱淫 | 波多野结衣在线视频免费观看 | 大又大又粗又硬又爽少妇毛片 | 999午夜 | 久久久精品一区二区 | 亚洲福利在线观看 | 丰满少妇被猛烈进入高清播放 | 善良的老师伦理bd中字 | 亲切的金子餐桌片段的金子 | 成人一区av | 成人综合激情网 | 毛片1000部免费看 | 日韩视频在线观看 | 噼里啪啦国语电影 | 国产黑丝精品 | 密臀av在线播放 | 免费看国产片在线观看 | 国产91精品ai换脸 | 国产人妻久久精品一区二区三区 | 污污网站免费在线观看 | 隣の若妻さん波多野结衣 | 亚洲最大的成人网站 | 久久99精品视频 | 亚洲一区二区日韩欧美 | 丝袜美腿av | 午夜成人在线视频 | 国产理论影院 | 日韩福利一区二区 | 91精品国产高潮对白 | 黄色一级片a | 在线播放www | 韩国毛片视频 | 亚洲欧美日韩中文在线 | 无码人妻丰满熟妇区bbbbxxxx | 日韩激情床戏 |