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記錄的資料庫,給我發一下,謝謝。
你了,屏幕右上角
這個採納下