-
Loand tên severname,database SQL vào combox trên form
tt1212 > 01-06-15, 01:36 AM
Nhờ mọi người giúp đỡ mình một việc thế này
Mình có một form kết nối CSDL bao gồm cả Access và SQl
ACESS thì Ổn rồi bầy giờ muốn làm bằng SQL
là khi người ta chọn vào combox Sever name thì tên severname SQL trên máy đó sẽ hiển thị lên combox cho người ta chọn để người ta không phải gõ vào thì phải làm thế nào hả mọi ngừoi
-
RE: Loand tên severname,database SQL vào combox trên form
maidinhdan > 01-06-15, 05:01 PM
Có lẽ phần này anh tt1212 nhờ anh hoanbhxhls trợ giúp sẽ tốt nhất vì anh ấy có nhiều kinh nghiệm trong việc triển khai kết nối SQL Server + Access.
Nhưng với câu hỏi trên em cũng xin mạng phép có vài lời góp ý, mong các anh bổ sung thêm nếu thiếu chỗ nào.
1. Khi đã triển khai SQL Server đừng bó hẹp trong phạm vi localhost mà ta phải nghĩ đến Web Server thì hay hơn. Cho nên vấn đề trên khi cung cấp ứng dụng cho người dùng ta chỉ cần tạo User + Pass đăng nhập là đủ rồi.
Còn phần tên Server và Database thì nên cho nó vào table hay một class/ thủ tục hàm gì đó để chạy sẽ linh hoạt hơn cho người dùng khi mở ứng dụng cứ lặp đi lặp lại đến 4 ô mới có thể đăng nhập vào ứng dụng. Thì thật chán nản luôn....
2. Em nghĩ mỗi cơ quan cao nhất chỉ có 1 Server thôi, Database thì có thể nhiều hay ít tùy thuộc vào có bao nhiêu ứng dụng được triển khai.
* Em xin phép được nói 2 ý này thôi vì em biết có lẽ kinh nghiệm anh còn nhiều hơn em nửa!
Thân ái chào anh. -
RE: Loand tên severname,database SQL vào combox trên form
tt1212 > 01-06-15, 10:03 PM
(01-06-15, 05:01 PM)maidinhdan Đã viết: Có lẽ phần này anh tt1212 nhờ anh hoanbhxhls trợ giúp sẽ tốt nhất vì anh ấy có nhiều kinh nghiệm trong việc triển khai kết nối SQL Server + Access.
Xin cảm ơn Maidinhdan khồn biêt hoanbhxhls có nhiệt tình giúp đỡ cho hay không nữa
Nhưng với câu hỏi trên em cũng xin mạng phép có vài lời góp ý, mong các anh bổ sung thêm nếu thiếu chỗ nào.
1. Khi đã triển khai SQL Server đừng bó hẹp trong phạm vi localhost mà ta phải nghĩ đến Web Server thì hay hơn. Cho nên vấn đề trên khi cung cấp ứng dụng cho người dùng ta chỉ cần tạo User + Pass đăng nhập là đủ rồi.
Còn phần tên Server và Database thì nên cho nó vào table hay một class/ thủ tục hàm gì đó để chạy sẽ linh hoạt hơn cho người dùng khi mở ứng dụng cứ lặp đi lặp lại đến 4 ô mới có thể đăng nhập vào ứng dụng. Thì thật chán nản luôn....
2. Em nghĩ mỗi cơ quan cao nhất chỉ có 1 Server thôi, Database thì có thể nhiều hay ít tùy thuộc vào có bao nhiêu ứng dụng được triển khai.
* Em xin phép được nói 2 ý này thôi vì em biết có lẽ kinh nghiệm anh còn nhiều hơn em nửa!
Thân ái chào anh.
thật ra sever name, user, pass database đều nằm trong những bảng có sẵn của SQL tuy nhiên mình chỉ lấy được sau khi mình đã kết nối, nhưng ngặt nối giờ mình đang cần kết nối vậy thì làm sao mà lấy đưuọc -
RE: Loand tên severname,database SQL vào combox trên form
maidinhdan > 02-06-15, 10:45 AM
Anh tham khảo code này thử xem:
Mã PHP:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Đọc lại các giá trị từ Registry
SQLServerName = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SQLServerName", "")
SQLLoginMode = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SQLLoginMode", "False"), Boolean)
SaveSQL = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SavedSQL", "False"), Boolean)
SaveSQLUser = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveSQLUser", "")
SaveSQLPW = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveSQLPW", "")
SaveUser = CType(Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUser", "False"), Boolean)
SaveUserName = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUserName", "")
SaveUserPW = Microsoft.VisualBasic.GetSetting(My.Application.Info.ProductName, "INIT", "SaveUserPW", "")
'-------------------------------------------
Dim dtSQL As New DataTable
Dim sName As String
dtSQL = Microsoft.SqlServer.Management.Smo.SmoApplication.EnumAvailableSqlServers() 'Lấy tên các SQL Server
For Each r As DataRow In dtSQL.Rows 'Đưa vào ComboBox
sName = r.Item("Name").ToString
If sName = "" Then sName = "(local)"
cboServerName.Items.Add(sName)
Next
If SQLServerName <> "" Then
cboServerName.Text = SQLServerName 'Chọn ComboBox hiện tên Server đã chọn
Else
If cboServerName.Items.Count > 0 Then cboServerName.SelectedIndex = 0 'Chưa có tên chọn Server đầu tiên
End If
cntLogin = 0
If Not SQLLoginMode Then 'Chọn loại đăng nhập
WinAuth.Checked = True
SQLAuth.Checked = False
AuthServerSQL(False)
Else
WinAuth.Checked = False
SQLAuth.Checked = True
AuthServerSQL(True)
End If
CheckBoxServerSave.Checked = SaveSQL 'Chọn xem có lưu lại User và Pass không
If SaveSQL Then
TextBoxServerLoginName.Text = SaveSQLUser
TextBoxServerPassword.Text = SaveSQLPW
End If
CheckBoxUserSave.Checked = SaveUser
If SaveUser Then
UsernameTextBox.Text = SaveUserName
PasswordTextBox.Text = SaveUserPW
End If
End Sub
Và 1 link này nửa nếu cái trên không được: Nhấn vào đây
Em chưa test, có gì anh cho ý kiến thêm! -
RE: Loand tên severname,database SQL vào combox trên form
hieuvn > 02-06-15, 12:33 PM
không kết nối đến server thì không lấy được Data name đâu -
RE: Loand tên severname,database SQL vào combox trên form
tt1212 > 02-06-15, 03:52 PM
Hieuvn nói rất đúng có le bo qua vấn đề đó đi.
Hiếu và Maidinhdan nghiên cứu xem mình đã kết nối được SQL và SQL trên host chạy được tuy nhiên giữa hai máy nhập và chạy song song xử lý chậm lắm