提要:
ms sql server提供了一个非常方便的com组件“sqldmo”来帮助我们获取和管理sql server。在这里提供一些想法和实现。
系统要求:
windows2000server
vs.net rc3
sql server 2000
正文:
1.在.net中使用sqldmo.dll
path :>tlbimp sqldmo.dll /out : rc3sqldmo.dll
创建一个新的c#项目(winform, library....),添加引用,选择browse,找到rc3sqldmo.dll,加入。
2.查看rc3sqldmo.dll的结构
打开object view,选择rc3sqldmo,你能浏览所有的属性、方法和事件的定义。
3.使用rc3sqldmo
获得连接:
rc3sqldmo.sqlserver2 mysqlsvr = new rc3sqldmo.sqlserver2class();
mysqlsvr .connect("sqlservername","uid","pws");
获得数据库信息:
rc3sqldmo.databases mydbs=mysqlsvr.databases;
rc3sqldmo.database2 mydb =new rc3sqldmo.database2class();
mydb=mydbs.item("dbname","owner"); 或mydb=mysqlsvr.databases.item("dbname","owner");
获得表和字段的信息:
rc3sqldmo.tables mytbls= mysqlsvr.databases.item("dbname","owner").tables;
rc3sqldmo.table2 mytbl = new rc3sqldmo.table2class();
mytbl = mytbls.item("tablename","owner");或
mytbl = mysqlsvr.databases.item("dbname","owner").tables.item("tablename","owner");
string[3] mylist = new string[3];
rc3sqldmo.column2 myfield = new rc3sqldmo.column2class();
foreach(object o in mytbl.columns)
{
myfield = (rc3sqldmo.column2) o;
mylist[0]=myfield.name;
mylist[1] = myfield.datatype;
mylist[2] =myfield.length.tostring();
}
获得存储过程的信息::
rc3sqldmo.storedprecudure2 mysp = new rc3sqldmo.storedprecudure2class();
mysp =mysqlsvr.batabase.itrm("dbname",owner).storedprecudures.item[b("spname",owner)]
用途的讨论::
动态管理sql server
动态获得table,storedprecudure的结构信息
还能增加,修改所有sql server object的内容。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器