关于数据库远程访问的问题! 解决之后继续加分!

秀小川 2012-03-16 09:32:33


try
{
HRESULT hr =pConn.CreateInstance("ADODB.Connection");
if (FAILED(hr))
{
AfxMessageBox("初始化失败!");
}
CString str;
str = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data ource =192.168.1.16";
_bstr_t strConnect =str;
pConn->Open(strConnect,"","",adModeUnknown);
}
catch (_com_error e)
{

AfxMessageBox(e.Description());
}

HRESULT hr = pCommand.CreateInstance(__uuidof(Command));
hr = pRecordset.CreateInstance(__uuidof(Recordset));
pCommand->ActiveConnection = pConn;
pCommand->CommandText = "select * from TestTab ";
if (FAILED(hr))
{
pRecordset = NULL;
AfxMessageBox("can't create an instance of Recordset");
}
try
{
pRecordset=pCommand->Execute(NULL,NULL,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}


这段代码在自己机器上执行没问题,在同一局域网下别人机器上执行,红色部分会出错,提示对象名TestTab无效!
...全文
187 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
秀小川 2012-03-16
  • 打赏
  • 举报
回复
UP
秀小川 2012-03-16
  • 打赏
  • 举报
回复
找到问题了,我把我我的“TestTab”换成master里面的表就可以了!
不过我前面打开的是TestTab 所在的数据库Test,这个怎么解决!
秀小川 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 littlecommit 的回复:]

如果没有开启的话,就到数据库的服务和连接的外围应用配置器里的远程连接中开启,主要重启数据库服务,然后再试一下
[/Quote]
我在别人的机器上用查询分析器以及企业管理器 都能进我的数据库!
这样算不算开启远程连接?
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
如果没有开启的话,就到数据库的服务和连接的外围应用配置器里的远程连接中开启,主要重启数据库服务,然后再试一下
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
如果没有开启的话,就到数据库的服务和连接的外围应用配置器里的远程连接中开启,然后再试一下
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
你的数据库是否开启允许远程连接的功能?
秀小川 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 littlecommit 的回复:]

try
{
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset->Open(bstrSQL,pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}catch(_com_error e)
{
AfxMessage……
[/Quote]
试过了,还是一样的问题!
秀小川 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bxf19830819 的回复:]

确定连接成功了么?
[/Quote]
我使用telnet 192.168.1.16 1433 是没问题的!
自己机器上相同的代码也可以用!
秀小川 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 littlecommit 的回复:]

str = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data ource =192.168.1.16";

这个连接字符串里,是不是没有加上sa的密码啊?
[/Quote]
我的数据库貌似是没有密码的!
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
try
{
pRecordset.CreateInstance(__uuidof(Recordset));
pRecordset->Open(bstrSQL,pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}catch(_com_error e)
{
AfxMessageBox(e.Description());
}

你用这种方式获取记录集试试行不行?
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
1、要连接的数据库是不是在你的电脑上?
2、数据库的登录方式是不是混合验证模式即允许windows账号或sa账号登录?
峰白 2012-03-16
  • 打赏
  • 举报
回复
确定连接成功了么?
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
str = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data ource =192.168.1.16";

这个连接字符串里,是不是没有加上sa的密码啊?
秀小川 2012-03-16
  • 打赏
  • 举报
回复

try
{
pRecordset=pCommand->Execute(NULL,NULL,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
出错的就是这里!
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
呵呵!不客气!
秀小川 2012-03-16
  • 打赏
  • 举报
回复
问题搞定了。我程序里面 str = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data ource =192.168.1.16";这窜字符是从.ini文件里面读出来的,结果读的时候读了100个字符,后面的Data ource 没有读出来!!!!!! 低级错误啊! 谢谢各位了!
Ionstorm2 2012-03-16
  • 打赏
  • 举报
回复
有点乱,帮LZ理一下是不是这样的
数据库放在ip为192.168.1.16的机器上(自己的还是别人的机器?),名为Test,然后Test库里面有个表是Testtab;
用企业管理器在自己或者别人的机器上,分别用sa账户登录,select * from Testtab都有结果,没问题;
用代码执行,在自己的机器上,没有问题;在别人的机器上,显示Testtab是无效的对象名,然后如果将Initial Catalog=Test改成系统默认的比如Initial Catalog=master,然后select master下面的表是可以的??
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
如果你的连接字符串中的是Data ource的话,那可能问题出在这里了。
因为如果你不设置Data Source的话,连接应该是连接本地的数据库,如果本地没有Test数据库的话,
就会出现你说的这个问题的
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
Data ource =192.168.1.16

我刚看到你的数据库连接字符串中的这段文本,应该是Data Source = 192.168.1.16
是代码中就是这样的,还是笔误啊?
LittleCommit 2012-03-16
  • 打赏
  • 举报
回复
恩,楼上的方式可行!
加载更多回复(9)
环境要求: Discuz! 兼容 PHP 4.0.6, MySQL 3.23, PostgreSQL 7.1 以上各版本和各种操作系统环境,在安全模式下也能完好运行. 算法及数据结构: 我们始终致力于开发最优化的算法和数据结构,从事 PHP 与 MySQL 的开发的过程中,我们力求每行代码都充分发挥开发工具的效率优势,Discuz! 是一个挑战 PHP 应用极限的应用程序. Discuz! 开发组具有丰富的 cache 处理经验,到 Discuz! 3.0,内建了包含系统设定到模板系统在内的 PHP 语法生成内核,此内核可直接生成程序格式的缓存,cache 技术的广泛应用使得 Discuz! 的代码效率再上新的台阶. Discuz! 中包含了众多独创或独有的处理方法,使得 Discuz! 可以轻松承受比其他类似产品更多的贴子数量和在线人数,成为目前最高效快速的论坛产品之一.在实现同样功能的前提下,Discuz! 力争占用数据库资源最小,页面处理时间最短.在一台配置良好的 P4 级 UNIX 主机上, 100 万贴论坛平均页面处理时间不超过 0.03 秒(搜索除外),页面平均数据库查询数不超过5 个,最大承载在线人数超过 5000 人,如果构建 Apache 和数据库分离的双机系统,负载能力和速度都将获得更大的提升. 数据库操作: Discuz! 依靠专门设计的数据库操作类实现数据库存取,目前提供 MySQL 和 PostgreSQL支持模块,具有专有错误处理模块,通过 Email 实时报告数据库错误. 数据结构更经过精心的设计,从字段到表的分配,索引的构建,都经过缜密的考虑,相同数据量的论坛,Discuz! 占用的数据库容量和其他类似产品相比要小. 程序内核中查询遵循 ANSI SQL 规范,短期内即可通过新增数据库类的方式移植到 SQLServer 等其他数据库系统. 模板体系: Discuz! 全部版本都使用模板与程序分离的方式构建,Disucz! 2.0 是目前惟一一个采用编译模板系统构建的商业化产品,该核心由 Crossday Studio 独立开发,与传统的模板技术相比更快捷,内容修改也更容易,随着 Discuz! 2.0 应用的普及,必将引起一股编译模板技术应用的高潮. 依赖于 Discuz! 3.0 的编译模板体系,全部提示信息,均在完全不影响程序效率的前提下,用语言包实现,自 2.0 以来,彻底支持多模板,多语言和多风格.每个模板可使用不同的语言界面,不同的内码设定和不同的风格设置,模板可在线编辑,也可通过 FTP 直接上传,给界面定制带来了前所未有的方便.不懂 html 的新手通过风格设置的修改,或设计高手手工修改模板,都可实现论坛外观的完全定制. 论坛功能: 除具有满足讨论需要的全部功能外,Discuz! 还对标准的论坛体系做了丰富的扩展. 全论坛编译模板和国际化内核,更换前/后台提示语言不需要修改程序和模板 可自定义最大在线人数,UNIX 负载情况限制用户访问论坛 附件采用文件存储,读取速度更快,占用数据库更少,同时对可能发生的安全问题做了一一处理,又有完善的从记录到文件的全面管理功能. CookieFree 技术,得益于自建的会话跟踪体系,Discuz! 不需任何设置即可在不使用Cookie 或被禁止的情况下正常登录或使用论坛. 全新设计的搜索功能,使得新的搜索比以往快数倍,具有可共享的搜索缓存,有效减少数据库负载. 自定义 Discuz! 代码功能,可对代码进行扩充并支持最多三个动态代码参数. 自定义会员信息项目功能:支持选单及在帖子中显示该自定义项目. 独有的内建论坛访问与流量统计系统,紧密结合论坛自身的功能,在实现一般外挂统计系统全部功能的同时,最大限度的降低了系统资源的消耗. 预留完善的插件接口,插件只需通过修改设置文件即可被加入到论坛系统中;程序中也处处考虑插件的应用,即使插件对数据结构有修改,也不会影响论坛的正常使用和升级. 权限控制: Discuz! 具有全面而严密的权限与访问控制系统.内置不同的会员用户组,系统用户组,自动根据积分或系统头衔确定用户所在组.用户组可任意编辑和添加,各组拥有可调的十几项关键权限设定,涵盖论坛使用的各个方面. 支持交叉用户组,普通用户组和管理用户组可以交叉并得到交叉权限. 版主和超级版主的权限可以具体设定,并具有自己的管理面板,可进行允许范围内的管理操作. 论坛支持密码加密,同时可在每个论坛内给用户组分配不同的权限,实现最大限度的权限与访问控制. Discuz! 支持积分和具备防止作弊功能的用户评分,可设定积分的加分方式,也可设定用户评分权限及最大评分数;可设定主题和附件的查看/下载积分,并可设定具有此设定权限的用户组;贴子中独有 [hide] 代码,可根据回复或积分隐藏相应内容,满足不同要求. 后台管理: Discuz! 具有快速智能的论坛后台管理程序,不仅提供详细周密的论坛和用户组权限设定,而且,可根据 10 余种以上的条件实现用户编辑,批量删贴,附件编辑等,且可自动对有关的数据,如用户发帖数,积分,论坛数据等等做智能处理,确保了批量操作后统计数据的精确性.内核级访问控制,可设定及屏蔽恶意刷新及 DoS 攻击 管理程序中可方便的修改界面方案中的各种参数,熟悉以后新建一个界面方案只需一分钟就可办到,同时也可在线编辑模板,或进行模板的导入,导出操作.每一个管理操作都被记录在案,方便管理员的互相监督.同时提供版主管理记录功能,可按时间顺序查看版主进行的每一个管理操作,对版主负责程度的评定更具有科学性. 数据维护: Discuz! 提供了迄今最强大的 web 界面数据备份和恢复功能,具有足以应付超大数据库的分卷备份能力,使得管理员不需任何服务器权限即可轻松维护 Discuz! 数据库.更有远程数据读取功能,两台主机之间传递论坛数据不经过本地不消耗任何本地资源即可完成,创建备份论坛或更新镜像论坛易如反掌. 后台管理程序中可方便的查看数据库的使用情况,同时提供数据库优化功能以消除存储碎片,保证存取效率. 安全保证: Discuz! 3.0 坚固的数据结构和最少化数据库查询,使得 Discuz! 可以在极为繁忙的服务器环境下快速稳定运行 在用户资料存储中和传递中,密码全部使用 RSA-MD5 不可逆加密,有效保证论坛及用户资料的安全. 专门为脆弱页面设计了防刷新系统,自动阻止恶意访问和攻击. Discuz! 独有的全程操作记录,完整详细的记录了论坛运行情况.管理记录采用 PHP 文件格式存储,既能防止被非法查看或下载,又不占用数据库资源.同时具有自我尺寸控制技术,各种记录自动保存最新的 500 条,即使管理员也无法删除各种记录,犹如黑匣子般提供最可靠的安全保证. Discuz! 能有效处理页面格式,保证页面及表格的完整性.安全检查应用于每一个Discuz! 代码中,可自动屏蔽贴子及签名等中的恶意代码.
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的内容。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot
基于Spring Boot的学生综合成绩测评系统是一个**面向学生、教师和管理员的多角色教育管理平台**。以下是对该系统的详细介绍: 1. **技术架构**: - 后端采用Java语言结合Spring Boot框架进行开发,确保了应用程序的快速开发和易于部署。 - 前端使用Vue.js框架,提供更好的用户交互体验。 - 数据库选用MySQL 5.7,配合Navicat管理工具,保证了数据的稳定性和高效访问。 - 使用Tomcat作为Web服务器,支持B/S(Browser/Server,浏览器/服务器)模式的系统架构。 2. **功能模块**: - 系统涉及多个核心功能,如学生管理、试题信息管理、测评试题管理等,旨在满足日常学生综合测评的需求。 - 对于学生角色,提供了课堂点名管理、课程成绩管理、加分申请管理等功能,以支持学生在学业上的自我管理和评估。 - 管理员则拥有更广泛的管理权限,包括通知公告管理、教师管理、毕业要求管理等,以确保整个教育过程的规范性和高效性。 3. **系统特色**: - 本系统特别注重用户体验,通过现代化的技术手段,使得学生综合测评的管理更加高效和便捷。 - 系统设计考虑到了不同用户群体的操作习惯和需求,力求在功能性和易用性之间取得平衡。 4. **应用场景**: - 该系统适用于高校或其他教育机构,能够帮助管理者更好地处理学生成绩相关的数据,同时也为学生提供了一个方便查询和管理个人成绩的平台。 5. **资源与支持**: - 项目实战资源丰富,包括全套项目源码、文档说明以及可能的PPT演示和视频教程,便于直接部署和使用。 - 开发者可以利用这些资源来深入了解系统的设计理念和实现细节,从而进行二次开发或定制自己的功能模块。 综上所述,这个基于Spring Boot的学生综合成绩测评系统不仅为用户提供了丰富的功能,还注重了用户体验和系统的可维护性。它适合计算机相关专业的学生作为毕业设计或课程设计的参考,也适合需要实战练习的Java学习者。

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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