1. vb.net的数据库连接
1·绑定数据源来进行连接
2.用代码连接
先到数据库建立一个数据库和相应的表
连接数据库的代码:
Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="
dim conn As sqlClient.SqlConnection
try
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
Return True
Catch ex As Exception
MsgBox(ex.ToString)
Return False
End Try
登录代码:Dim str As String = "Data Source=服务器名;Initial Catalog=数据库名;Persist Security Info=True;User ID=;Password="
dim conn As SqlClient.SqlConnection
conn = New SqlClient.SqlConnection
conn.ConnectionString = str
conn.Open()
sqlstr = "Select * From Amd Where AmdName='" & TextBox1.Text & "' And AmdPwd = '" & TextBox2.Text & "'"
Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn)
Dim dr As SqlClient.SqlDataReader
dr = sqlcmd.ExecuteReader
If dr.Read = True Then '判断一条记录为真
kf.Show() '显示下个窗体
Me.Hide() ’隐藏当前窗体
Else
MessageBox.Show("输入信息有误!", "提示")
TextBox1.Text = ""
TextBox2.Text = ""
End If
2. 谁能介绍下oracle数据库的前滚rolling forward原理吗
偶然的一次,网友在t.askmaclean.com ASK Maclean Home提问了关于11.2 上一个ORA-600问题的解决途径,我们这里不讨论该ORA-600[kcratr_nab_less_than_odr]错误, 比这个错误本身更有趣的是 该600 trace中记录了一段对于前滚恢复rolling upgrade描述十分详细的KST trace。
很多网友肯定要问什么是KST? KST是9i以后引入的内部诊断机制Tracing Facility,每一个Oracle 进程都维护SGA中的一小块Trace buffer,并将自身的默认启用的一些event事件信息写入到Trace Buffer中(这些事件默认包括10280, 10401, 10441, 10442, 10425, 10427, 10429, 10434, 10666),可以使用内部视图x$trace观察这些信息,默认Trace Buffer不写到磁盘上,而只在SGA中维护,当Trace Buffer用完时将被重用。
了解了 KST的知识后,我们可以从容地阅读下面这段TRACE了:
Trace Bucket Dump Begin: default bucket for process 19 (osid: 29785)
TIME(*=approx):SEQ:COMPONENT:FILE@LINE:FUNCTION:SECT/DUMP: [EVENT#:PID:SID] DATA
以上是KST Trace的 头部
COMPONENT 组件名 例如 db_trace 、CACHE_RCV,这里的CACHE_RCV意为 cache recovery,实际上是我们所说的前滚rolling forward。
FILE@LINE 指oracle内核代码的文件名和行数 例如:kst.c、kcv.c,这些都是oracle的核心C代码名
FUNCTION 指oracle内核函数名 例如kcvcrv()、kctrec()
[EVENT#:PID:SID] 即 EVENT ID:PID:SID
DATA 实际的操作内容
我们选择性地阅读KST TRACE的内容:
2012-02-07 13:40:52.755567 :800005B3:CACHE_RCV:kcv.c@15475:kcvcrv(): kcvcrv: Entering kcvcrv()2012-02-07 13:40:52.755609 :800005B4:KFNU:kfn.c@2200:kfnPrepareASM(): kfnPrepareASM force=0 state_kfnsg=0x7
2012-02-07 13:40:52.772999*:800005B5:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 1 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.826001*:800005B6:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 2 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.862014*:800005B7:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 3 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.909981*:800005B8:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 4 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.945933*:800005B9:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 5 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:52.993824*:800005BA:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 6 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.005829*:800005BB:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 7 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.041893*:800005BC:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 8 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.065779*:800005BD:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 9 - cpscn 0x0000.018b76b2, rsflg 0
2012-02-07 13:40:53.089760*:800005BE:CACHE_RCV:kcv.c@16100:kcvcrv(): kcvcrv: file 10 - cpscn 0x0000.018b76b2, rsflg 0
kcvcrv的全称是 [K]ernel [C]ache [R]ecovery [C]rash [R]ecovery [V]erify , kcvcrv内核函数在crash recovery的过程中显得极为重要,它总是发生在当一个前台进程试图启动脏关闭(dirty shutdown)的数据库的时候。kcvcrv 的工作包括检验所有的数据文件头并验证控制文件中的数据文件记录以确认是否需要介质恢复。这个步骤必要地验证仅仅crash recovery是否足以让数据库恢复到一致状态(consistent),相信大家已经耳熟能详 crash recovery 、 instance recovery 、 media recovery 三者的区别。 若kcvcrv发现 data files数据文件、control files控制文件亦或者redo log file在线日志文件存在corrupted 或者 丢失,或者实际上是从之前的备份中还原过来的,那么kcvcrv会强制用户必须使用media recovery才能将数据库恢复到一致,无法通过crash recovery实现恢复。注意 kcvcrv的检测并不是完全的,它主要是检测 数据文件头的checkpoint scn 和 控制文件中data files的checkpoint scn是否一致,以确保 这些数据文件完成了shutdown instance时的最后一次FULL Checkpoint。 kcvcrv并不能检测出除数据文件头部外的datafile body是否存在介质讹误。
kcvcrv需要对control file读写才能完成其必要的任务,所以它会启动一个控制文件读写事务 read-write control file transaction。通过检验控制文件中每个数据文件的记录以确认数据文件是否有被重新同步的必要。 当然kcvcrv会跳过哪些OFFLINE和read-only的数据文件,因为这些文件不存在recovery的必要。
在确认crash recovery的必要性后,kcvcrv还会主导启动并行的恢复工作(parallel recovery),注意parallel recovery只在多CPU且参数recovery_parallelism不为零的环境下有效, kcvcrv会创建并初始化Oracle中的PQ Slave 并行子进程以便恢复实例。 默认的子进程数Slave Processes等于(CPU的总数-1),这是因为需要为recovery coordinator process恢复协调进程保留一个CPU。并且需要kcvcrv分配一个recovery state object给并行恢复 协调进程与其Slave子进程。
最后kcvcrv还会调用另一个关键内核函数 kctrec ( Kernel Cache Threads ), kctrec会在所有打开的redo thread上实施进一步的thread recovery。
2012-02-07 13:40:53.366569 :80000687:KFNU:kfn.c@2200:kfnPrepareASM(): kfnPrepareASM force=0 state_kfnsg=0x7
2012-02-07 13:40:53.366569*:80000688:CACHE_RCV:kcv.c@16365:kcvcrv(): kcvcrv: Calling kctrec()
2012-02-07 13:40:53.366569*:80000689:CACHE_RCV:kct.c@4163:kctrec(): kctrec: Entering kctrec()
2012-02-07 13:40:53.413557*:8000068A:CACHE_RCV:kct.c@4271:kctrec(): kctrec: thread 1 cf thread ckpt: logseq 1468, block 2,scn 25917106
常见的 kcvcrv 调用堆栈 stack call如下:
kcratr_odr_check <- kcratr <- kctrec <- kcvcrv <- kcfopd <- adbdrv
kcliarq <- kclrinit <- kcbrst <- kcrpci <- kcratr <- kctrec <- kcvcrv <- kcfopd <- adbdrv
kfgrpIterInit()<-kfis_sageonly_anygroup()<-krr_init_rrx()<-kcra_scan_redo()<-kcra_mp_redo()+2246<-kcra_mp_redo_internal()+1752<-kco_image_corrupt()<-kcoapl()<-kcbr_apply_change()<-kcbr_mapply_change()<-kcbrapply()<-kcbr_apply_pending()<-kcbr_media_apply()<-krp_serial_apply()<-krr_do_media_recovery()<-krddmr()<-krd_do_media_rcv()<-krd_implicit_rcv()<-kcvcrv()<-kcfopd()<-adbdrv()
3. sql server2000 角色管理和权限管理
使用企业管理器管理权限
1.设置数据库访问权限
下面以设置数据库“kfgl”的访问权限为例介绍如何通过企业管理器设置数据库的访问权限。
操作步骤如下:
(1)启动企业管理器,展开服务器组及指定的服务器。
(2)展开“数据库”节点,鼠标右键单击数据库“kfgl”,在弹出的快捷菜单中选择“属性”命令,打开数据库属性对话框,
(3)在弹出的数据库属性对话框中单击“权限”选项卡,如图2所示,选择数据库用户“mrsoft”的“创建表”和“创建视图”复选框,即允许创建表及视图。
(4)单击“确定”按钮完成权限的设置
2.设置数据库对象的访问权限
用户在具有了访问数据库的权限之后,就可以授予其访问数据库对象的权限了。可授予对象的权限包括以下几种:
SELECT
允许用户对表或视图发出SELECT语句。
INSERT
允许用户对表或视图发出INSERT语句。
UPDATE
允许用户对表或视图发出UPDATE语句。
DELETE
允许用户对表或视图发出DELETE语句。
EXECUTE
允许用户对存储过程发出EXECUTE语句。
下面设置允许数据库用户“mrsoft”对数据库“kfgl”中的员工信息表“ygxx”中的数据进行查询、插入、修改和删除操作。
操作步骤如下:
(1)启动企业管理器,展开服务器组及指定的服务器。
(2)展开指定的数据库“kfgl”节点,单击“表”选项,在右侧的列表中右键单击表“ygxx”选项,在弹出的快捷菜单中选择“属性”命令,打开“表属性”对话框,
(3)单击“权限”按钮,打开“对象属性”对话框,选择数据库用户“mrsoft”的“SELECT”、“INSERT”、“UPDATE”和“DELETE”复选框,即允许数据库用户“mrsoft”对数据进行查询、插入、修改和删除操作
注意:如果选中相应的数据库用户,单击对话框下方的“列”按钮,在弹出的对话框中可以设置个别列的访问权限。
.设置数据库角色权限
在6.2.2节中新建了一个数据库角色“kcgl”,但没有对其赋予数据库操作权限。下面我们就对数据库角色“kcgl”设置权限。
操作步骤如下:
(1)启动企业管理器,展开服务器组及指定的服务器。
(2)展开指定的数据库“db-kcgl”,选中“角色”选项,在右侧列表中右键单击已经创建的数据库角色“kcgl”,在弹出的快捷菜单中选择“属性”命令,弹出“数据库角色属性”对话框,
3)在所示的“常规”选项卡中,可以添加或者删除数据库角色中的用户,单击“权限”按钮,在弹出的“权限”选项卡中选择角色的权限,
列表中显示当前数据库角色“kcgl”中的数据表和视图等对象,同时列出对象可以执行的数据操作。单击数据操作所对应的单元格即可设置权限。“√”号表示用户对该对象执行相应的操作,“×”号表示禁止用户对该对象执行相应的操作。
(4)在所示的“权限”选项卡中,选中表“DQ”,单击“列”按钮,在出现的“列权限”的“常规”选项卡中对数据库角色赋予对对象的访问权限,
(5)最后单击“确定”按钮,完成权限的设置操作。
如果要看的更详细的图解讲解
hi我留邮箱~~
4. 如何查看sql server 2000中的某个数据库有有多少用户正在访问
系统表sysprocesses 中有用户连接记录。可以根据数据库名称,查看连接的用户。
Selectspid,hostname,loginame,user_name(uid)Asusername
Fromsysprocesses
Wheredbid=db_id('glkf')
5. 水泵中QB系列,IDB系列,DB系列,KF系列,CPM系列和JET系列的区别和分类。
品牌差异。
6. 租用来的空间,数据库该怎么办,怎么访问~
看你用的是什么数据库了
access的 放在指定的db目录就可以了
当然了 你的conn.asp文件 要制定好路径
是sql的话 就需要单独来购买的
有ip 用户名密码之类的 给你的
你可以到http://kf.cncnc.com.cn/index.asp
看看 有你需要的东西没
7. java 从数据库中取出的值为什么都是null
首先确定数据表other_aqkh_gen中是否有字段other_aqkh_gen_id值等于81的记录,如果没有当然是null了。
其次如果有这样的记录,就检查Vector类型对象vect的值,层层往上。
8. android 联系人数据库在哪里
联系人的数据库文件的位置
/data/data/com.android.providers.contacts/databases.contacts2.db
要读取或修改这些联系人信息,需要非常专业的知识,一般情况下建议不要删除或修改。
9. java 操作 数据库
Java连接数据库是使用具体数据库的JDBC驱动程序来实现的,每一个数据库的驱动程序不同。
以下是一段示例代码:
1.Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //加载数据库JDBC驱动,该驱动会自动注册连接所需信息。
2.String url="jdbc:oracle:thin:@localhost:1521:orcl"; //定义连接字符串
String user="test"; //用户名
String password="test"; //密码
3.Connection conn= DriverManager.getConnection(url,user,password);//通过DriverManager获取数据库连接引用
4.Statement sql = conn.createStatement(Resultset.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);//生成一个Statement
5.ResultSet rs = sql.executeQuery("SELECT * FROM 表");//获取记录集引用
6.System.out.println(rs('字段一'));//输出当前一行表头为‘字段一’的数据。
以下再提供给你几个常用数据库的连接方式(驱动通常都是一个jar包,可以去数据库提供商官网下载):
1、Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
2、DB2数据库
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
3、Sql Server7.0/2000数据库
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
4、Sybase数据库
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);
5、Informix数据库
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
6、MySQL数据库
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//myDB为数据库名
Connection conn= DriverManager.getConnection(url);
7、PostgreSQL数据库
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB"
//myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);
另外一种方式是针对Windows的,首先建立一个DSN,然后使用Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");和"jdbc:odbc:数据源名称"来获取连接引用,不过这样平台依赖性很大,不推荐这样做。
希望我的回答对你有所帮助!
10. 谁有2000万kf记录的数据库,给我发一下,谢谢。
你了,屏幕右上角
这个采纳下