ADO远程连接sqlserver 用的连接字符串是什么? 另外, ado用的是什么版本? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 另外, 检查你的sql有没有装上sp3或者sp4, 执行:select @@version如果版本在 8.00.760以下, 你应该先为sql装上sp4 谢谢各位的回复我的连接字符串如下:cnsql = "DRIVER=SQL Server;SERVER=" & bserver & ";UID=" & buserid & ";PWD=" & bpassword & ";DATABASE=" & bdataname & ";Address=" & bserver & "," & sqlPortcn.Open cnsql在局域网里用了三年的,都很正常,最近公司搬了仓库,才要在仓库外网连到公司的数据库服务器里来。但速度就有问题,一样的查询语句,在仓库那边用查询分析器或者用java的jdbc都可以达到30k/s,而在VB中却只能3k/s.我的ado版本是2.80sql server版本是8.00.194 从连接字符串来看, 楼主用的应该是odbc连接, 试试改用oledb的连接方式, 将字符串修改为:Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名 另外, 楼主的sql没有打过任何补丁, 该升级了(不升级的情况下, 也会产生速度不稳定的问题, 这点我亲自遇到过).SQL补丁下载:全部补丁的位置(在下载页的中间部分,可以选择语言,以下载和sql server实例语言对应的补丁)http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn应该安装的是http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装 真心谢谢zjcxc(邹建) 我按照您的提示,将连接字符串改成:Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名从外网连接的速度已经没问题了,能达到30k/s左右。我在上海,您在哪儿呢? 如果也在上海,周未请您吃饭吧。 谢谢。 :) 抱歉,又打扰你。我按照您的连接方式连好之后,调取数据到GRID中,编辑之后,保存出错。 保存的简要代码如下:1. 首先删除记录集中所有的老记录//M_FgRs 记录集 If M_FgRs.RecordCount > 0 Then M_FgRs.MoveFirst For i = 0 To M_FgRs.RecordCount - 1 M_FgRs.DELETE adAffectCurrent M_FgRs.MoveNext Next End If2.从MSHFlexGrid中添加编辑好的记录到记录集//m_fg>>编辑数据的网格//....For i = m_fg.FixedRows To saveRows - 1 M_FgRs.addnew For j = m_fg.FixedCols To m_fg.Cols - 1 //.... M_FgRs.Fields(j - m_fg.FixedCols).Value = m_fg.TextMatrix(i, j) //.... NextNext3. 处理好记录集的记录后,提交更改到数据库cn.BeginTrans//....//下面这句出错: 出错信息为://row cannot be located for updating. some values may have been changed since it was last read.M_FgRs.UpdateBatch adAffectAllChapters//....cn.CommitTrans//....4.连接字符串用我原来的: cnsql = "DRIVER=SQL Server;SERVER=" & bserver & ";UID=" & buserid & ";PWD=" & bpassword & ";WSID=RECEPTION;DATABASE=" & bdataname & ";Network=DBMSSOCN;Address=" & bserver & "," & sqlPort不出错,但从外网连接速度很慢用您的连接字符串: cnsql = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & buserid & ";Password=" & bpassword & ";Initial Catalog=" & bdataname & ";Data Source=" & bserver & "," & sqlPort从外网连接速度较快,查询语句也正常但编辑数据时就出错了.请指教。 谢谢。 sql server 缓存技术有什么? ····是否需要额外索引的创建?···· 求语句或者存储过程 字符串处理问题. 用VC调用openrowset从SQLServer导出查询的数据到Access, 结果这个程序不能在客户端电脑使用,解决就给分 full join连接后,也不是我想要的数据,那应该怎么办? 求解一合计问题? 不能插入数据 大家帮忙真的好急................ 关于SQL SERVER中表的关键字的用法的问题 急救: 把 dbf 导入到sqlserver 2000 时出现的错误 exec 执行问题,百思不得其解
select @@version如果版本在 8.00.760以下, 你应该先为sql装上sp4
cnsql = "DRIVER=SQL Server;SERVER=" & bserver & ";UID=" & buserid & ";PWD=" & bpassword & ";DATABASE=" & bdataname & ";Address=" & bserver & "," & sqlPort
cn.Open cnsql
在局域网里用了三年的,都很正常,最近公司搬了仓库,才要在仓库外网连到公司的数据库服务器里来。
但速度就有问题,一样的查询语句,在仓库那边用查询分析器或者用java的jdbc都可以达到30k/s,而在VB中却只能3k/s.
我的ado版本是2.80
sql server版本是8.00.194
全部补丁的位置(在下载页的中间部分,可以选择语言,以下载和sql server实例语言对应的补丁)
http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
应该安装的是
http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装
我按照您的提示,将连接字符串改成:
Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名
从外网连接的速度已经没问题了,能达到30k/s左右。
我在上海,您在哪儿呢? 如果也在上海,周未请您吃饭吧。 谢谢。 :)
我按照您的连接方式连好之后,调取数据到GRID中,编辑之后,保存出错。
保存的简要代码如下:
1. 首先删除记录集中所有的老记录
//M_FgRs 记录集
If M_FgRs.RecordCount > 0 Then
M_FgRs.MoveFirst
For i = 0 To M_FgRs.RecordCount - 1
M_FgRs.DELETE adAffectCurrent
M_FgRs.MoveNext
Next
End If
2.从MSHFlexGrid中添加编辑好的记录到记录集
//m_fg>>编辑数据的网格
//....
For i = m_fg.FixedRows To saveRows - 1
M_FgRs.addnew
For j = m_fg.FixedCols To m_fg.Cols - 1
//....
M_FgRs.Fields(j - m_fg.FixedCols).Value = m_fg.TextMatrix(i, j)
//....
Next
Next3. 处理好记录集的记录后,提交更改到数据库
cn.BeginTrans
//....
//下面这句出错: 出错信息为:
//row cannot be located for updating.
some values may have been changed since it was last read.M_FgRs.UpdateBatch adAffectAllChapters
//....cn.CommitTrans
//....4.连接字符串用我原来的:
cnsql = "DRIVER=SQL Server;SERVER=" & bserver & ";UID=" & buserid & ";PWD=" & bpassword & ";WSID=RECEPTION;DATABASE=" & bdataname & ";Network=DBMSSOCN;Address=" & bserver & "," & sqlPort
不出错,但从外网连接速度很慢
用您的连接字符串:
cnsql = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=" & buserid & ";Password=" & bpassword & ";Initial Catalog=" & bdataname & ";Data Source=" & bserver & "," & sqlPort
从外网连接速度较快,查询语句也正常但编辑数据时就出错了.
请指教。 谢谢。