【java工具】使用jdbc访问数据库获取某个存储过程信息及下面参数信息
来源:互联网 发布:域名dns劫持怎么解决 编辑:程序博客网 时间:2024/06/07 02:20
首先,我们先写一个包含了最经常使用的参数的存储过程,然后利用jdbc获得该存储过程的信息及它对应所有参数的信息及内容。
【该测试针对的是sqlserver2005.】
【测试用存储过程如何:请自行运行】
CREATE PROCEDURE proc_paras_test@testBITINT BIGINT =0,@testBINARY BINARY,@test1BIT BIT ,@testCHAR CHAR,@testDATETIME DATETIME,@testDECIMAL DECIMAL,@testFLOAT FLOAT,@testINT INT,@testMONEY MONEY,@testNCHAR NCHAR,@testNTEXT NTEXT,@testNUMBERIC NUMERIC,@testNVARCHAR NVARCHAR,@testREAL REAL,@testSMALLDATETIME SMALLDATETIME,@testSMALLINT SMALLINT,@testSMALLMONEY SMALLMONEY,@testTINYINT TINYINT,@testXML XML,@testVARCHAR VARCHAR(200),@testOUTPUT_INT INT OUTPUT ,@testOUTPUT_BIT BIT OUTPUT,@testOUTPUT_NVARCHAR NVARCHAR(200) OUTPUTASBEGINSELECT 'ok';END
【程序编写】
下面将编写程序从Connection对象里面获取DataBaseMetaData ,从中获得我们需要的存储过程信息及对应参数,为了以后可以对照着来写代码生成器,我特意将所有常用的参数都加进去存储过程了,并且我也在程序里显示出从数据库里面获得的所有信息,
package TestCase;import EWeb.DB.DBConnection;import Easis.Common.StringUtil;import Easis.DBUtility.DataColumn;import Easis.DBUtility.DataTable;import Easis.DBUtility.DataTableHelper;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.ResultSet;import Easis.DBUtility.DataRow;public class testDataBaseMetaInfo { public static void main(String[] args){ Connection myconn= DBConnection.getConnection(); try{ DatabaseMetaData dbMeta=myconn.getMetaData(); Object ob2=dbMeta; String procTerm= dbMeta.getProcedureTerm(); ResultSet rs= dbMeta.getProcedures(null, "dbo", "proc_paras_test"); DataTable dataTable= DataTableHelper.rs2datatable(rs); rs.close(); ResultSet rs_columns= dbMeta.getProcedureColumns(null,"dbo","proc_paras_test",null); DataTable dt_columns=DataTableHelper.rs2datatable(rs_columns); rs_columns.close(); //--将相关信息打印出来 for (DataRow dr_proc: dataTable.getRows()){ System.out.print("存储过程序号:"+dr_proc.getRowNumber()+",相关参数如下:"); for (DataColumn column1:dr_proc.getColumns()){ System.out.println(StringUtil.Lpad(column1.getColumnName(),' ',20)+":"+column1.getString()); } } System.out.println("===================下面是相关存储过程的相关参数======================"); for (DataRow drow2:dt_columns.getRows()){ System.out.println("【参数序号:"+drow2.getRowNumber()+"】"); for (DataColumn col2:drow2.getColumns()){ System.out.println(StringUtil.Lpad(col2.getColumnName(),' ',20)+":"+col2.getString()); } } Object ob3=""; } catch (Exception e){ e.printStackTrace(); } }}
【这个程序用了我一些工具类,大家是无法直接运行的,现在来看运行结果】
存储过程序号:0,相关参数如下:PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1NUM_INPUT_PARAMS :-1NUM_OUTPUT_PARAMS :-1NUM_RESULT_SETS :-1REMARKS :PROCEDURE_TYPE :2===================下面是相关存储过程的相关参数======================【参数序号:0】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@RETURN_VALUECOLUMN_TYPE :5DATA_TYPE :4TYPE_NAME :intPRECISION :10LENGTH :4SCALE :0RADIX :10NULLABLE :0REMARKS :COLUMN_DEF :SQL_DATA_TYPE :4SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :0IS_NULLABLE :NOSS_DATA_TYPE :56【参数序号:1】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testBITINTCOLUMN_TYPE :1DATA_TYPE :-5TYPE_NAME :bigintPRECISION :19LENGTH :8SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-5SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :1IS_NULLABLE :YESSS_DATA_TYPE :108【参数序号:2】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testBINARYCOLUMN_TYPE :1DATA_TYPE :-2TYPE_NAME :binaryPRECISION :1LENGTH :1SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-2SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :1ORDINAL_POSITION :2IS_NULLABLE :YESSS_DATA_TYPE :37【参数序号:3】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@test1BITCOLUMN_TYPE :1DATA_TYPE :-7TYPE_NAME :bitPRECISION :1LENGTH :1SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-7SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :3IS_NULLABLE :YESSS_DATA_TYPE :50【参数序号:4】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testCHARCOLUMN_TYPE :1DATA_TYPE :1TYPE_NAME :charPRECISION :1LENGTH :1SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :1SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :1ORDINAL_POSITION :4IS_NULLABLE :YESSS_DATA_TYPE :39【参数序号:5】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testDATETIMECOLUMN_TYPE :1DATA_TYPE :93TYPE_NAME :datetimePRECISION :23LENGTH :16SCALE :3RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :9SQL_DATETIME_SUB :3CHAR_OCTET_LENGTH :ORDINAL_POSITION :5IS_NULLABLE :YESSS_DATA_TYPE :111【参数序号:6】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testDECIMALCOLUMN_TYPE :1DATA_TYPE :3TYPE_NAME :decimalPRECISION :18LENGTH :20SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :3SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :6IS_NULLABLE :YESSS_DATA_TYPE :106【参数序号:7】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testFLOATCOLUMN_TYPE :1DATA_TYPE :8TYPE_NAME :floatPRECISION :53LENGTH :8SCALE :RADIX :2NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :6SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :7IS_NULLABLE :YESSS_DATA_TYPE :109【参数序号:8】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testINTCOLUMN_TYPE :1DATA_TYPE :4TYPE_NAME :intPRECISION :10LENGTH :4SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :4SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :8IS_NULLABLE :YESSS_DATA_TYPE :38【参数序号:9】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testMONEYCOLUMN_TYPE :1DATA_TYPE :3TYPE_NAME :moneyPRECISION :19LENGTH :21SCALE :4RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :3SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :9IS_NULLABLE :YESSS_DATA_TYPE :110【参数序号:10】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testNCHARCOLUMN_TYPE :1DATA_TYPE :-15TYPE_NAME :ncharPRECISION :1LENGTH :2SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-8SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :2ORDINAL_POSITION :10IS_NULLABLE :YESSS_DATA_TYPE :39【参数序号:11】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testNTEXTCOLUMN_TYPE :1DATA_TYPE :-16TYPE_NAME :ntextPRECISION :1073741823LENGTH :2147483646SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-10SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :2147483646ORDINAL_POSITION :11IS_NULLABLE :YESSS_DATA_TYPE :35【参数序号:12】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testNUMBERICCOLUMN_TYPE :1DATA_TYPE :2TYPE_NAME :numericPRECISION :18LENGTH :20SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :2SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :12IS_NULLABLE :YESSS_DATA_TYPE :108【参数序号:13】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testNVARCHARCOLUMN_TYPE :1DATA_TYPE :-9TYPE_NAME :nvarcharPRECISION :1LENGTH :2SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-9SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :2ORDINAL_POSITION :13IS_NULLABLE :YESSS_DATA_TYPE :39【参数序号:14】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testREALCOLUMN_TYPE :1DATA_TYPE :7TYPE_NAME :realPRECISION :24LENGTH :4SCALE :RADIX :2NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :7SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :14IS_NULLABLE :YESSS_DATA_TYPE :109【参数序号:15】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testSMALLDATETIMECOLUMN_TYPE :1DATA_TYPE :93TYPE_NAME :smalldatetimePRECISION :16LENGTH :16SCALE :0RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :9SQL_DATETIME_SUB :3CHAR_OCTET_LENGTH :ORDINAL_POSITION :15IS_NULLABLE :YESSS_DATA_TYPE :111【参数序号:16】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testSMALLINTCOLUMN_TYPE :1DATA_TYPE :5TYPE_NAME :smallintPRECISION :5LENGTH :2SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :5SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :16IS_NULLABLE :YESSS_DATA_TYPE :38【参数序号:17】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testSMALLMONEYCOLUMN_TYPE :1DATA_TYPE :3TYPE_NAME :smallmoneyPRECISION :10LENGTH :12SCALE :4RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :3SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :17IS_NULLABLE :YESSS_DATA_TYPE :110【参数序号:18】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testTINYINTCOLUMN_TYPE :1DATA_TYPE :-6TYPE_NAME :tinyintPRECISION :3LENGTH :1SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-6SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :18IS_NULLABLE :YESSS_DATA_TYPE :38【参数序号:19】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testXMLCOLUMN_TYPE :1DATA_TYPE :-16TYPE_NAME :xmlPRECISION :1073741823LENGTH :2147483646SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-10SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :2147483646ORDINAL_POSITION :19IS_NULLABLE :YESSS_DATA_TYPE :0【参数序号:20】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testVARCHARCOLUMN_TYPE :1DATA_TYPE :12TYPE_NAME :varcharPRECISION :200LENGTH :200SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :12SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :200ORDINAL_POSITION :20IS_NULLABLE :YESSS_DATA_TYPE :39【参数序号:21】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testOUTPUT_INTCOLUMN_TYPE :2DATA_TYPE :4TYPE_NAME :intPRECISION :10LENGTH :4SCALE :0RADIX :10NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :4SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :21IS_NULLABLE :YESSS_DATA_TYPE :38【参数序号:22】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testOUTPUT_BITCOLUMN_TYPE :2DATA_TYPE :-7TYPE_NAME :bitPRECISION :1LENGTH :1SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-7SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :ORDINAL_POSITION :22IS_NULLABLE :YESSS_DATA_TYPE :50【参数序号:23】PROCEDURE_CAT :JWebBasePROCEDURE_SCHEM :dboPROCEDURE_NAME :proc_paras_test;1COLUMN_NAME :@testOUTPUT_NVARCHARCOLUMN_TYPE :2DATA_TYPE :-9TYPE_NAME :nvarcharPRECISION :200LENGTH :400SCALE :RADIX :NULLABLE :1REMARKS :COLUMN_DEF :SQL_DATA_TYPE :-9SQL_DATETIME_SUB :CHAR_OCTET_LENGTH :400ORDINAL_POSITION :23IS_NULLABLE :YESSS_DATA_TYPE :39
参数很长吧?里面很多东西用不到的,现在我们简化一下,来看看哪些地方是将来要用到的。
【改写一下方法获取简洁的结果】
package TestCase;import EWeb.DB.DBConnection;import Easis.Common.StringUtil;import Easis.DBUtility.DataColumn;import Easis.DBUtility.DataTable;import Easis.DBUtility.DataTableHelper;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.ResultSet;import Easis.DBUtility.DataRow;public class testDataBaseMetaInfo { public static void main(String[] args){ Connection myconn= DBConnection.getConnection(); try{ DatabaseMetaData dbMeta=myconn.getMetaData(); Object ob2=dbMeta; String procTerm= dbMeta.getProcedureTerm(); ResultSet rs= dbMeta.getProcedures(null, "dbo", "proc_paras_test"); DataTable dataTable= DataTableHelper.rs2datatable(rs); rs.close(); ResultSet rs_columns= dbMeta.getProcedureColumns(null,"dbo","proc_paras_test",null); DataTable dt_columns=DataTableHelper.rs2datatable(rs_columns); rs_columns.close(); //--将相关信息打印出来 for (DataRow dr_proc: dataTable.getRows()){ System.out.print("存储过程序号:"+dr_proc.getRowNumber()+",相关参数如下:"); for (DataColumn column1:dr_proc.getColumns()){ System.out.println(StringUtil.Lpad(column1.getColumnName(),' ',20)+":"+column1.getString()); } } System.out.println("===================下面是相关存储过程的相关参数======================"); for (DataRow drow2:dt_columns.getRows()){ System.out.println("【参数序号:"+drow2.getRowNumber()+"】"); for (DataColumn col2:drow2.getColumns()){ System.out.println(StringUtil.Lpad(col2.getColumnName(),' ',20)+":"+col2.getString()); } } System.out.println("===================存储过程简化的参数======================"); for (DataRow drow23:dt_columns.getRows()){ String str_res="参数:【"+StringUtil.Lpad(drow23.get("COLUMN_NAME").toString(),' ',25)+"】,架构:"+drow23.get("PROCEDURE_SCHEM")+","+ "参数类型:【"+StringUtil.Lpad(drow23.get("TYPE_NAME").toString(),' ',14) +"】,长度:【"+StringUtil.Lpad(drow23.get("LENGTH").toString(),' ',10)+"】,"+ "方向:【"+StringUtil.Lpad(drow23.get("COLUMN_TYPE").toString(),' ',2)+"】,"+ "允许空:【"+StringUtil.Lpad(drow23.get("IS_NULLABLE").toString(),' ',4)+"】," +"所属proc:【"+StringUtil.Lpad(drow23.get("PROCEDURE_NAME").toString(),' ',10)+"】"; System.out.println(str_res); } Object ob3=""; } catch (Exception e){ e.printStackTrace(); } }}
【运行,结果如下:(只列出需要看到的参数)】
参数:【@RETURN_VALUE 】,架构:dbo,参数类型:【int 】,长度:【4 】,方向:【5 】,允许空:【NO 】,所属proc:【proc_paras_test;1】参数:【@testBITINT 】,架构:dbo,参数类型:【bigint 】,长度:【8 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testBINARY 】,架构:dbo,参数类型:【binary 】,长度:【1 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@test1BIT 】,架构:dbo,参数类型:【bit 】,长度:【1 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testCHAR 】,架构:dbo,参数类型:【char 】,长度:【1 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testDATETIME 】,架构:dbo,参数类型:【datetime 】,长度:【16 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testDECIMAL 】,架构:dbo,参数类型:【decimal 】,长度:【20 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testFLOAT 】,架构:dbo,参数类型:【float 】,长度:【8 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testINT 】,架构:dbo,参数类型:【int 】,长度:【4 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testMONEY 】,架构:dbo,参数类型:【money 】,长度:【21 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testNCHAR 】,架构:dbo,参数类型:【nchar 】,长度:【2 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testNTEXT 】,架构:dbo,参数类型:【ntext 】,长度:【2147483646】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testNUMBERIC 】,架构:dbo,参数类型:【numeric 】,长度:【20 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testNVARCHAR 】,架构:dbo,参数类型:【nvarchar 】,长度:【2 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testREAL 】,架构:dbo,参数类型:【real 】,长度:【4 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testSMALLDATETIME 】,架构:dbo,参数类型:【smalldatetime 】,长度:【16 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testSMALLINT 】,架构:dbo,参数类型:【smallint 】,长度:【2 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testSMALLMONEY 】,架构:dbo,参数类型:【smallmoney 】,长度:【12 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testTINYINT 】,架构:dbo,参数类型:【tinyint 】,长度:【1 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testXML 】,架构:dbo,参数类型:【xml 】,长度:【2147483646】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testVARCHAR 】,架构:dbo,参数类型:【varchar 】,长度:【200 】,方向:【1 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testOUTPUT_INT 】,架构:dbo,参数类型:【int 】,长度:【4 】,方向:【2 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testOUTPUT_BIT 】,架构:dbo,参数类型:【bit 】,长度:【1 】,方向:【2 】,允许空:【YES 】,所属proc:【proc_paras_test;1】参数:【@testOUTPUT_NVARCHAR 】,架构:dbo,参数类型:【nvarchar 】,长度:【400 】,方向:【2 】,允许空:【YES 】,所属proc:【proc_paras_test;1】
看到了没有?上面就是mssql的参数对照表,然后我们又要硬编码自行转换了。
- 【java工具】使用jdbc访问数据库获取某个存储过程信息及下面参数信息
- Java获取数据库表列信息、索引信息、存储过程等信息
- Java获取数据库表列信息、索引信息、存储过程等信息 .
- Java获取数据库表列信息、索引信息、存储过程等信息
- JDBC获取数据库及表信息
- JDBC获取数据库及表信息
- 使用c#调用oracle存储过程获取存储过程参数信息
- JDBC获取数据库各种信息
- 数据库通用访问过程及带传出参数存储过程的使用
- MSSQL2000 获取数据库表、视图、存储过程等结构信息
- 使用Java获取任意数据库的信息
- 通过JDBC访问数据库元信息
- JDBC获取数据库表字段信息
- jdbc之MetaData_获取数据库信息
- 通过jdbc获取数据库表字段信息
- JDBC获取数据库的元数据信息
- J2EE --- JDBC获取数据库元数据信息
- 根据存储过程包含某个关键字,查找相关所有存储过程信息及根据多个主键删除重复列
- jqueryMobile footer/header问题 显示隐藏的问题
- 100个在0-100的不重复的随机数字
- python 学习笔记(4)解析和字符串处理
- SQLServer2005 CASE WHEN的两种用法
- [译文]Java EE 6中的依赖注入——第1部分(一)
- 【java工具】使用jdbc访问数据库获取某个存储过程信息及下面参数信息
- vc 发 WM_VSCROLL消息
- SQLite 在Windows Server 2008 R2 部署问题FAQ汇总
- RCP Eclipse
- 高级IO
- [译文]Java EE 6中的依赖注入——第1部分(二)
- ICE Manual(Documentation for Ice 3.5)---The Ice Run Time in Detail(Automatic Retries)
- 触发器实现两个库之间数据同步
- ubuntu 13.04 没有语言支持(language support)的解决方法