vb遠程訪問sql
VB連接SQL:
Set Oj1 = CreateObject("Adodb.Connection")
Oj1.ConnectionTimeout = 30
Oj1.CommandTimeout = 600
Oj1.CursorLocation = 3
Set RsOj1 = CreateObject("Adodb.RecordSet")
RsOj1.CursorLocation = 3
RsOj1.CursorType = 3
RsOj1.LockType = 4
Oj1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False" _
+";Data Source=Ip地址;Initial Catalog=資料庫" _
+";User ID=SQL用戶名;Password=密碼"
Oj1.Open
RsOj1.Source = "Select id From TableName "
RsOj1.ActiveConnection = Oj1
RsOj1.Open
Id1=RsOj1.Fields("id").Value
RsOj1.Close
Oj1.Close
Set Oj1 = Nothing
Set RsOj1 = Nothing
『貳』 vb如何連接sql資料庫
1、打開代碼窗口,添加引用:Imports System.Data.SqlClient。
『叄』 vb如何連接上遠程SQL資料庫
不知道你為什麼要用ADOC來配置...直接用VB代碼就OK了。
公共模塊:
Private Function Selectsql(SQL As String) As ADODB.Recordset '返回ADODB.Recordset對象
Dim ConnStr As String
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set Conn = New ADODB.Connection
'On Error GoTo MyErr:
ConnStr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=登錄資料庫用戶名(默認為sa);Password=登錄資料庫密碼;Initial Catalog=資料庫名;Data Source=伺服器名(IP地址)" '這是連接SQL資料庫的語句
Conn.Open ConnStr
rs.CursorLocation = adUseClient
rs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
End Function
調用:
SQL = "SELECT * FROM 用戶表 WHERE 用戶名='" & Combo1.Text & "' AND 密碼='" & Text1.Text & "' "
Set rs = Selectsql(SQL)
『肆』 vb 遠程訪問sql資料庫 出現 guest登錄失敗
你安裝sqlserver時選的是通過windows用戶驗證登陸的吧,改成SQLserver用戶驗證試試。
『伍』 如何VB遠程連接sql server2000,求詳細過程
Dim Con As ADODB.Connection
Set Con = New ADODB.Connection
Con.ConnectionString = "driver={sql server};server=;uid=;pwd=;Database="
Con.ConnectionTimeout = 15
Con.Open
server是伺服器地址,可以是IP也可以是域名,uid是SQL用戶名,pwd是SQL登錄密碼,database是資料庫名,
ConnectionTimeout這個是響應時間
『陸』 vb連接遠程sql資料庫
VB連Oracle1、首先你可以新建一個ini文件(如程序名.ini文件)2、在vb中添加API函數:Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long3、在vb中添加要載入ini文件的代碼:Sub LoadInitial()
Dim ret As Integer
Dim retstr As String * 256
On Error GoTo LoadInitial SysIniFile = Command$
If SysIniFile = "" Then
SysIniFile = App.Path & "\" & App.EXEName & ".ini"
End If
ret = GetPrivateProfileString("SYS INI", "UID", "", retstr, 256, SysIniFile)
If ret <> 0 Then
gUid = Left$(retstr, ret)
End If
ret = GetPrivateProfileString("SYS INI", "PASSWD", "", retstr, 256, SysIniFile)
If ret <> 0 Then
gPasswd = Left$(retstr, ret)
End If
ret = GetPrivateProfileString("SYS INI", "DBLINK", "", retstr, 256, SysIniFile)
If ret <> 0 Then
gDsn = Left$(retstr, ret)
End If
Exit Sub
LoadInitial:
MsgBox "LoadInitial: " & Error
Resume
End Sub
4、添加打開資料庫的vb代碼:Public Sub DbOpen()
Dim strconn As String
On Error GoTo Errorhandler:
strconn = "DATA SOURCE=" & gDsn
Set cnAdo = New ADODB.Connection
cnAdo.Provider = "MSDAORA"
With cnAdo
.CursorLocation = adUseClient
.CommandTimeout = 10
.ConnectionString = strconn
.Open strconn, gUid, gPasswd
End With
Exit Sub
Errorhandler:
MsgBox "Database connect Error:" & Err.Description
End Sub
『柒』 Vb如何連接遠程的sql server最好有實例代碼,謝謝
Private Sub Command1_Click()
' Dim excel_app As excel.Application
' Dim excel_sheet As excel.Sheets
Dim excel_app As Object
Dim excel_sheet As Object
Dim rs As ADODB.Recordset
Dim strsql As String
Dim pubconn As ADODB.Connection
Dim exfieldA As String
Dim exfieldB As String
Dim exfieldC As String
Dim exfieldD As String
'打開資料庫
Set rs = New ADODB.Recordset
Set pubconn = New ADODB.Connection
pubconn = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=aaa;Data Source=(local)"
pubconn.Open
Set excel_app = CreateObject("excel.application") 'excel對象
Set excel_app = New Excel.Application
' excel_app.Visible = True
excel_app.Workbooks.Open FileName:="D:\astroboy\河南生稅務支持系統\實現\字典\111.xls"
' excel_app.Worksheets(Combo1.ListIndex + 1).Activate
If Val(excel_app.Application.Version) >= 8 Then '檢查excel文件的版本
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If
'''創建sql表格
Dim crtstrsql As String
Dim exceltst As String
exceltst = Text1.Text
exfieldA = Trim$(excel_sheet.Cells(1, 1))
exfieldB = Trim$(excel_sheet.Cells(1, 2))
exfieldC = Trim$(excel_sheet.Cells(1, 3))
exfieldD = Trim$(excel_sheet.Cells(1, 4))
crtstrsql = ""
crtstrsql = crtstrsql & "create table " & exceltst & "(" & vbCrLf
crtstrsql = crtstrsql & exfieldA & " char(50) null," & vbCrLf
crtstrsql = crtstrsql & exfieldB & " char(6) null," & vbCrLf
crtstrsql = crtstrsql & exfieldC & " datetime null," & vbCrLf
crtstrsql = crtstrsql & exfieldD & " datetime null)"
pubconn.Execute crtstrsql
Dim new_value1 As String
Dim new_value2 As String
Dim new_value3 As String
Row = 2
Do
new_value = Trim$(excel_sheet.Cells(Row, 1)) '讀取excel工作者第一列數據
new_value1 = Trim$(excel_sheet.Cells(Row, 2))
If excel_sheet.Cells(Row, 3) = "" Then
new_value2 = ""
Else
new_value2 = CDate(excel_sheet.Cells(Row, 3) & "1月")
End If
If excel_sheet.Cells(Row, 4) = "" Then
new_value3 = ""
Else
new_value3 = CDate(excel_sheet.Cells(Row, 4) & "1月")
End If
If Len(new_value) = 0 And Len(new_value1) = 0 Then Exit Do
'將這一值插入SQL資料庫
strsql = "insert into " & exceltst & "(" & exfieldA & "," & exfieldB & "," & exfieldC & "," & exfieldD & ") values('" & new_value & "','" & new_value1 & "','" & new_value2 & "','" & new_value3 & "')"
pubconn.Execute strsql
Row = Row + 1 '讀取下一行數據
Loop
MsgBox "傳輸數據完成!", vbOKOnly, "完成!"
pubconn.Close
excel_app.Quit
Set rs = Nothing
Set pubconn = Nothing
Set excel_app = Nothing
Set excel_sheet = Nothing
End Sub
或參考以下
EXCEL文件要設置固定格式,還要設置命名范圍,然後才可以導入
大致思路如下:
'// 設置打開 EXCEL 文件的連接字元串
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=excel文件名;Extended Properties=Excel 8.0"
'// 以記錄集的形式打開 Excel 文件,adoConn 為 ADODB.Connection 對象
adoConn.Open strConn
'// 將數據插入到指定的表中(以ODBC的方式打開SQL資料庫)
strSQL = "INSERT INTO [odbc;Driver={SQL Server};Server=伺服器IP;Database=資料庫;UID=用戶名;PWD=密碼].SQL中的表名 SELECT EXCEL中的欄位 FROM EXCEL工作表名"
'// 執行導入語句
adoConn.Execute strSQL, , adExecuteNoRecords
『捌』 VB 用ADODB 遠程連接SQL2005 資料庫
在1中選擇計算機A的名稱;
在2中選擇windowsNT集成安全設置登陸;
在3中選擇資料庫名稱posgf;
點測試連接,彈出測試OK,點確定就行了
『玖』 vb遠程鏈接訪問sql資料庫
這個問題是這樣的,用戶許可權不夠,密碼可能不同。。。確認資料庫混合登錄模式的情況下,
伺服器上設一個USERS用戶,加上密碼,在客戶機這邊也加一個相同名字的,也加上相同的密碼
這樣就可以用此用戶登錄了。
當然您也可以用許可權更大的比如administrator。一般來說,USERS用戶沒有其它許可權,相對電腦在網路上要安全,又能訪問SQL
這是最簡單的處理方式。
xp 用戶加USERS用戶,要在控制面板,管理工具,電腦管理-用戶里邊加。
『拾』 VB 遠程連接SQL Server 2008
用ADO遠程連接SQL的編寫方式和區域網內部的是一樣的,如果你在內網能夠訪問SQL的話,那麼在公網上你需要在遠端路由器上開啟IP地址及埠映射,比如,SQL伺服器的內網IP 是192.168.2.25 而外網地址是125.50.58.61 的話,你就必須在路由器上 添加125.50.58.61:443 到 192.168.2.25:443的映射記錄。最好在SQL伺服器上的防火牆里也添加上443埠例外。然後在程序里指定ADO的連接地址為125.50.58.61(SQL伺服器的外網地址)
最後補充一下,通過公網直接訪問SQL是不推薦的做法,主要是因為安全問題以及效率問題。一般的做法是在伺服器端開發相應的數據服務程序,用於和客戶端通信。建議你看看B/S和C/S兩種架構。