如何不用配置ODBC,就可以实现客户端和服务器的数据库相连?

miame 2002-01-29 08:22:49
用vb开发C/S数据库程序。
每次把程序移到另一台机器上,都得先配一遍ODBC,想请教的是如何不用配ODBC,比如读取ini文件,就可以和服务器相连呢?好着急得,大家帮帮我,谢谢。
...全文
237 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
miame 2002-01-29
  • 打赏
  • 举报
回复
我刚写完上面那段留言,就看到fancylee(小恐龙)、lihonggen0(用VB)的留言,哇,今天我的泪腺得多开动了,哇哇哇哇。。。
尤其谢谢lihonggen0(用VB)的留言,源代码写得这么详细,
好,索性多呆一会,给分。
miame 2002-01-29
  • 打赏
  • 举报
回复
嘿,各位,因为要copy一些东西,我又回来了。结果,看到了yanz(飞燕)得指点,果然管用。我都感动得乐哭涕流,好谢谢,好谢谢。饥饿感减少了许多。yanz(飞燕),祝你像赵飞燕姐姐一样pp.
我晚上回来再给各位分哦。
Chimae 2002-01-29
  • 打赏
  • 举报
回复
在BCB中我是用BDE来解决这个问题的,但VB中我就不是很清楚,是不是也有相同的方法呢?
lihonggen0 2002-01-29
  • 打赏
  • 举报
回复
Public adoCN As New ADODB.Connection '定义数据库的连接存放数据和代码
Public SqlCommand As New ADODB.Command '定义 SQL 命令
Dim adoDateTime As New ADODB.Recordset '获取 NT-SERVER 时间

Public Function OpenConnection() As String '打开数据库
On Error GoTo SQLConErr
With adoCN
.CursorLocation = adUseClient
.Provider = "sqloledb"
.Properties("Data Source").Value = cNtServerName
.Properties("Initial Catalog").Value = cDatabaseName
.Properties("User ID") = cSQLUserName
.Properties("Password") = cSQLPassword
.Properties("prompt") = adPromptNever
.ConnectionTimeout = 15
.Open

If .State = adStateOpen Then
adoDateTime.Open "select getdate()", adoCN, adOpenStatic, adLockOptimistic
cServerDate = Format(adoDateTime(0), "yyyy-mm-dd")
cServertime = Mid(adoDateTime(0), 10)
Else
MsgBox "数据库连接失败,请找系统管理员进行检查 !", 16, cProgramName
End
End If
End With

SqlCommand.ActiveConnection = adoCN
SqlCommand.CommandType = adCmdText
Exit Function
SQLConErr:
Select Case Err.Number
Case -2147467259
MsgBox "找不到指定的SQL Server服务器或者数据库不存在,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case -2147217843
MsgBox "指定的SQL Server数据库用户不存在或口令错误,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case Else
MsgBox "数据环境连接失败,请找系统管理员进行检查 !", 16, cProgramName
End Select
OpenConnection
End Function

SarahCla 2002-01-29
  • 打赏
  • 举报
回复
co.open "DRIVER=SQL Server; SERVER=你的数据库SERVER名;DATABASE=数据库名;uid=用户名;pwd=密码"
dbcontrols 2002-01-29
  • 打赏
  • 举报
回复
zzy198(小周):我这里SQL Server的机器名为sql
yanz 2002-01-29
  • 打赏
  • 举报
回复
我这有Sybase的例子,但要求机器上一定安装Sybase的ODBC驱动程序(我这是Sybase 11.5的)

cn.open "Provider=MSDASQL.1;DRIVER={Sybase System 11};SRVR=服务器名;DATABASE=数据库名;UID=用户名;PWD=密码"

我已经用过可用
miame 2002-01-29
  • 打赏
  • 举报
回复
奥,不等了,我快饿晕了。再不走,老师要打电话催了。
我晚上在回来看,各位最好不要让我是失望呀 :),谢了。
miame 2002-01-29
  • 打赏
  • 举报
回复
呵呵,dbcontrols,谢谢你。
不是MS SQL SERVER,而是sybase,在VB中没有sybase的oledb.
你的呢称让人看了很快乐。
zzy198 2002-01-29
  • 打赏
  • 举报
回复
dbcontrols(泰山__帮助你使我感到快乐):
Data Source=sql
这不还得配ODBC数据源吗?
dbcontrols 2002-01-29
  • 打赏
  • 举报
回复
如果是VB+MS SQL SERVER可以使用OLEDB
Dim cn As New ADODB.Connection
Dim rst As New ADODB.Recordset
cn.CursorLocation = adUseClient
cn.Open "Provider=SQLOLEDB.1;Password=qdccaucma;Persist Security Info=True;User ID=sa;Initial Catalog=MyDb;Data Source=sql"
rst.Open "MyTab", cn, adOpenKeyset, , adCmdTable
cn.Execute "update MyTab Set Name='" & Rnd() * 100 & "'"
miame 2002-01-29
  • 打赏
  • 举报
回复
查帮助也没看到FSO
miame 2002-01-29
  • 打赏
  • 举报
回复
请祥细指点,我还是第一次听说fs50。
大虾,在线等,我还没吃早餐,一大早就跑来着求救了。
huguangwu 2002-01-29
  • 打赏
  • 举报
回复
是啊,读取ini文件是一种很好解决的办法
可以用FSO来解决啊,这很简单的啊

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧