我想用无用户名和密码的DSN连接SQL数据库
该如何建立DSN和书写连接串
该如何建立DSN和书写连接串
解决方案 »
- vb webbroswer 如何不让 <script> 脚本执行
- 关于vb建立标准DLL的问题
- 如何让MDI主窗口无法最大化?
- 求教:如何用vb6.0实现对mysql数据库的添加等操作?
- 一个小问题,各位大哥帮帮忙啦!急!
- COME ON !!!关于过程的调用
- 50分求PictureBox控件问题(在线)
- 有谁使用过True DBGrid Pro6.0 的复选框,请帮忙!谢谢
- vb中如何在程序运行的时候动态的创建按钮
- 急!请教高手用OpenRecordset打开数据库分别出现实时错误‘3464’和‘3061’
- 关于SQLDMO.dll的问题
- 在VB中怎样把数据库的多条记录导到Excel里面呢?导到文本文件也可以..急..
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial
Catalog=DB_BASE;Data Source=TSQL
Private Declare Function SQLConfigDataSource Lib "odbccp32.dll" (ByVal hwndParent As Long, ByVal fRequest As Long, ByVal lpszDriver As String, ByVal lpszAttributes As String) As LongPrivate Sub Command1_Click()
Dim StrAttributes As String
'构造建立数据源的函数
StrAttributes = "DSN=orient_oa" & Chr(0) & "Database=orientnbcws" & Chr(0)
StrAttributes = StrAttributes & "Description=MySQL ODBC 3.51 Driver DSN" & Chr(0)
StrAttributes = StrAttributes & "Option=3" & Chr(0) & "Password=" & Chr(0) & "Port=3306" & Chr(0)
StrAttributes = StrAttributes & "Server=210.211.15.246" & Chr(0) & "Stmt=" & Chr(0) & "User="
'建立 ODBC 数据源
Call LoadDbSource2("MySQL ODBC 3.51 Driver", StrAttributes)
End SubPublic Function LoadDbSource2(StrDriver, StrAttributes As String) As Boolean
LoadDbSource2 = SQLConfigDataSource(0&, ODBC_ADD_SYS_DSN, StrDriver, StrAttributes)
End Function这是建立MY SQL 的ODBC,SQL的数据源你自己改吧!!
主要就是改构造字符串!!
我的目的就是在程序里数据连接串用DSN
以便用户改变了SQL Server密码不影响程序连接数据库
server.ini
[HR]
ServerName = 10.0.1.13
userid = erp
password = 010000009409013456009409009604009409013225010201
'从配置文件中读取连接用户和密码信息。
Dim a As String * 255, mKey As String
mKey = "HR"
GetPrivateProfileString mKey, "userid", "", a, 255, App.path + "\text\server.ini"
SysUserName = GetLeftText(Replace(a, Chr(0), ""))
GetPrivateProfileString mKey, "password", "", a, 255, App.path + "\text\server.ini"
SysPassword = DeCodeStr(GetLeftText(Replace(a, Chr(0), "")))
' DeCodeStr 是自己写的一个简单的解密函数
ServerName = GetLeftText(Trim(Me.ComServer))
DatabaseName = "DB_BASE" SysProvider = "Provider=SQLOLEDB.1;SERVER=" & ServerName & ";DATABASE=" & DatabaseName & ";UID=" & SysUserName & ";PWD=" & SysPassword
If cn.State = 1 Then cn.Close
cn.Open SysProvider
我想知道连接ODBC是不是一定要密码
我的代码如下:
Public Function OpenConn(errMsg As String) As Boolean
Dim Connstr As String
OpenConn = True
On Error GoTo err1''''''''''''此处采用DSN该如何写(不需要用户名和密码的那种,)
''''''''''''我的odbc里已经设置了访问数据库的密码,
''''''''''''如果客户改变SQL Server密码,只需要改DSN的配置就OK了
''''''''''''如何做请大家帮个忙
Connstr = ""
'''''''''''''''''''''''''''''''''''''''''''''
' Connstr = "driver={SQL Server};server=192.168.0.8;uid=sa;pwd=;database=sms_stock;"
conn.CursorLocation = adUseClient
conn.ConnectionTimeout = 30
conn.Open Connstr
err1:
If Err.Number <> 0 Then
Select Case Err.Number
Case -2147467259:
errMsg = "无法连接证券端数据库"
OpenConn = False
Case -2147217843
errMsg = "连接用户名和密码出错"
OpenConn = False
Case Else
errMsg = "未知原因导致连接失败"
OpenConn = False
End Select
End If
End Function
然后添加
Private objDataLink As New MSDASC.DataLinks
Dim sConnect As String
Set objDataLink = New MSDASC.DataLinks
sConnect = objDataLink.PromptNew
请问这句话,我以前试过,当客户机和服务器不在一个子网内时,必须在客户端配置DSN才能用,指定TCP/IP连接,那客户还得配置DSN,肯定不实际,有没有好的解决方法?也就是客户只要安装好程序就可以自动连接到SQL Server