VC++与SQL_Server_2000连接
SQL2000的安装方法
SQL2000的安装方法快捷实用1、如果在安装的过程中,出现文件挂起的提示,则打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SeionManager中找到PendingFileRenameOperation项目,并删除它,这样就可以清除安装暂挂提示了。
2、对于安装Window2000Server或者Window2003Server,建议安装SQL2000企业版、SQL2000专业版或者SQL2000标准版。
3、对于桌面操作系统做服务器,建议安装SQL2000个人版。
4、在安装完SQL2000后,必须打SQL2000的SP4补丁。
注意:数据库建议不要安装在C盘,如果数据库安装程序是拷贝在硬盘安装,建议直接在硬盘根目录下创建“qletup”目录,如:“c:\qletup”,然后把安装程序拷贝到此目录进行安装,目录级数不要创建太多,目录名不要带汉字,否则在安装的过程中系统会报错。
补丁目录如:“c:\qlp4”。
5、具体安装步骤如下:如果是光盘安装,则系统自动进入安装选择界面,如果是在硬盘安装,则运行“AUTO RUN.E某E”程序,如下图界面:进入安装选择界面:快捷实用选择“安装SQLServer2000组件”,具体操作界面如下:选择“安装数据库服务器”,具体操作界面如下:快捷实用点击《下一步》按钮,具体操作界面如下:选择“本地计算机”,点击《下一步》按钮,具体操作界面如下:本界面正常情况不出现,如果出现本界面,解决方法如下:快捷实用点系统《开始》按钮,找到“运行”,点击它,界面如下:在打开框里面输入“regedit”,然后点击《确定》按钮,进入注册表界面:快捷实用进入“HKEY_LOC AL_MACHINE\SYSTEM\CurrentControlSet\Control\SeionManag er”,在右边找到PendingFileRenameOperation项目,并删除它,然后回到安装界面继续。
SQL2000远程服务器连接方法
SQL2000远程服务器连接方法1:看ping 服务器IP能否ping通。
2:在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1)检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2)检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单-> 程序-> Microsoft SQL Server-> 服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3)检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做 telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。
如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
4)如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5)检查服务器是否在1433端口侦听。
如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。
检查方法是在服务器的dos或命令行下面输入netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127.0.0.1 1433 listening 的项。
SQL2000安装及系统连接说明
SQL2000安装及系统连接说明
首先把光盘中的全部文件复制到电脑中。
解压“SQLserver2000个人版XP能用.rar”
解压“SQL2000_PER.rar”
进入解压文件夹,出现如下界面:
双击“autorun.exe”,出现下面界面,
选择安装“安装SQL Server 2000 组件(C)”,进入下面界面:
选择“安装数据库服务器(s)”,进入下面:
下一步:
下一步:
下一步:姓名和公司随便填写,默认就行。
下一步:
序列号:H6TWQ-TQQM8-HXJYG-D69F7-R84VM
下一步:
下一步:
下一步:
下一步:请注意下图,在“服务设置”里面选择“使用本地系统帐户”
下一步:注意:请选择如下图所示。
密码为小写的sdkdxxx
下一步:
CD KEY为:H6TWQ-TQQM8-HXJYG-D69F7-R84VM
安装完之后,点击如下图所示
打开如下界面,右键点击“数据库”,
点击“确定”就完成了。
点击如下图:
复制计算机的序列号,找到在光盘中复制的文件中有一个
,如果没有就双击一下运行程序
,此时运行系统会出现错误,我们做此步是为了出现
图标,
接着关闭运行程序就行。
双击运行,把
1.服务器名称里面的数字清空,粘帖刚才复制的那一串数字,
2.用户名:sa
密码:sdkdxxx,
3.在服务器上选择数据库
HWDB
点击“测试连接”,如果出现“测试连接成功”,在点击“确定”。
这样就可以正常运行软件了。
如下图:,。
如何解决SQLServer2000中的连接问题-MSSQL-数据库,技术教程-E...
如何解决SQLServer2000中的连接问题-MSSQL-数据库,技术教程-E...概要本文能帮助您解决Microsoft SQL Server 2000 的连接问题。
本文描述了常见连接问题和所能采取的有助于解决连接问题的步骤。
SQL Server 2000 支持 SQL Server 实例和客户端应用程序间的多种通信方式。
如果您的客户端应用程序和 SQL Server 实例位于同一台计算机上,那么 Microsoft Windows 处理之间的通讯(IPC) 部件(例如本地命名管道或共享内存协议)将被用于通信。
但是,当客户端应用程序和 SQL Server 实例位于不同计算机上时,一个网络 IPC(例如 TCP/IP 或命名管道)将被用于通信。
SQL Server 2000 使用网络库(一个 DLL)与特定的网络协议进行通信。
一对匹配网络库必须在客户端计算机上激活,而且在支持待用网络协议的服务器计算机上也必须是激活的。
例如,如果您想启用一个客户端应用程序,通过 TCP/IP 与某个特定的 SQL Server 实例通信,那么客户端的TCP/IP 套接字网络库(Dbnetlib.dll) 就必须配置为连接到客户端计算机的服务器。
同样,服务器 TCP/IP 套接字网络库 (Ssnetlib.dll) 必须侦听服务器计算机。
在此方案中,TCP/IP 协议堆栈必须同时安装在客户端计算机和服务器计算机上。
在安装完SQL Server 2000 之后,您可以通过客户端网络实用程序来配置客户端网络库的属性。
您可以通过服务器网络实用程序(Svrnetcn.exe) 来配置服务器网络库的属性。
在安装SQL Server 安装程序中的服务器工具时,服务器的网络库也同时被安装了。
但是,某些服务器的网络库可能未被激活。
在默认情况下,SQL Server 2000 启用并侦听TCP/IP、命名管道和共享内存。
因此,如果一个客户端要连接到一台服务器计算机,该客户端必须使用一个客户端网络库,该网络库须与 SQL Server 实例正在使用的服务器网络库之一相匹配。
SQL_Server_2000连接不上问题的处理
SQL Server 2000连接不上问题的处理一."SQL Server 不存在或访问被拒绝"1.检查物理连接:在命令提示符下执行: ping <服务器ip地址>连接不上可能原因:(1) 服务器IP拼写错误。
(2) 服务器有防火墙。
比如ISA Server,瑞星防火墙、天网防火墙。
因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.(3) 网络不通(物理连接有问题)这时候要检查硬件设备,如网卡,HUB,路由器等.2.检查服务器端问题:在命令提示符下执行:telnet <服务器ip地址> 1433如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接,如果命令返回"无法打开连接"的错误信息连接不上可能原因:(1) 服务器有防火墙(2) 服务器SQLServer没有启动(2) 服务器SQLServer没有打补丁。
因为SQLServer打补丁后,监听的是0.0.0.0,支持所有网卡。
没打补丁不支持。
检查你的SQL有没有打补丁的方法是在查询分析器中运行:select @@version如果出来的版本号是8.00.760以下,则表明你未安装sp3的补丁,要装上.SQL补丁SP4下载地址:/downloads/details.aspx?FamilyID=8e2dfc8d-c20e-4446-99a9-b7f0213f8bc5&Dis playLang=zh-cn应该安装的是:SQL2000-KB884525-SP4-x86-CHS.EXESQL补丁SP3下载地址:/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装(3) 服务器SQLServer不是默认的1433端口或没有启用TCP/IP协议服务器点击:程序 --> Microsoft SQL Server--> 服务器网络使用工具打开该工具后,在"常规"中可以看到服务器启用了哪些协议:一般而言,我们启用TCP/IP 协议及命名管道.点中 TCP/IP 协议,选择"属性",我们可以来检查 SQL Server 服务默认端口的设置:一般而言,我们使用SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着端口变为2433,且客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.3.检查客户端问题:查询分析器中进行连接,使用用ip连接:(1) 文件 -- 连接 -- 连接SQL Server(2) SQLServer:服务器ip地址(3) 连接使用:SQLServer身份验证,登录名:SA,密码:(空)(注:根据对方的SQL配置确定采用什么身份验证方式:企业管理器--右键SQL实例--属性--安全性--身份验证)(4) 确定连接不上可能原因:(1)SQL Server名称拼写有误。
jdc连接SQL Server2000数据库的连接步骤和注意事项
为了实现JDBC连接SQL Server数据库,有以下几步:1.SQL Server的安装如果是第一次安装,那不会有什么安装故障。
如果机子上已经安装过一次,然后卸载了再装的,那么要做以下更改才能重新安装SQL Server.①把C:\Program Files\Microsoft SQL Server文件夹整个删掉;②运行注册表,删除如下项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL ServerHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MssqlServerHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MssqlSERVER HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLSERVERA GENTHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MssqlSERVER ADHELPERHKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server③按下列顺序点击打开+ HKEY_LOCAL_MACHINE+ SOFTWART+ Microsoft+ Windows+ CurrentVersion+ Setup+ ExceptionComponents④需要的话就重新启动系统如果在安装过程中出现出现”安装挂起的错误”,那么在以下操作:在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations,删除该键值(这个键值是安装程序暂挂项目,只要找到对应的应用程序清除掉就行了),关闭注册表编辑器。
ADO连接SQL2000
VC连接SQL2000数据库对于初学VC的朋友来说,连接数据库其实是一件不容易的事情。
记得我当时为了与数据库连接上,找了好多资料,上网看了好多文章,都没有解决这个问题。
后来,有个网友帮我解决了,我再次表示感谢。
为了后来VC初学的朋友的方便,我现在将VC连接SQL2000数据库的方法写下来,就算你是初学,即使刚入门,也可以成功连接数据库的。
(注意:由于文章过长,本文章未写完,如果想要整个的代码,可以留个邮箱,或发邮件到yinfulin888888@索要)先做点准备工作吧。
1学VC连接数据库,要安装两个软件,Visual C++6.0和SQL2000。
怎么安装,我不说了。
2要连接数据库先要启动SQL2000的服务器,看下图吧单击开始,就可以启动了。
3然后,还是上面,打开“企业管理器”,要建立数据库和表了。
打开根目录后,有个(local)(WindowsNT)的,在上面单击右键,选择属性,再选择安全性,身份验证选择上面那个SQL Server和Windows,再确定,是。
等一下就好了。
4建立数据库,在“数据库”根目录上,单击右键,选择“新建数据库”,输入数据库名字db_client(也可以用其他的名字,但是下面有些地方会用到),展开db_client,在“表”上右键单击,选择“新建表”,建立如下表:完成之后,直接关闭,提示保存,选择“是”,然后填入表名字,tb_user,即可。
然后在表中填入数据。
右键单击刚建立的表tb_user,选择“打开表”,“返回所以行”,填入数据,(为了方便登录,第一行都输入1吧)。
这样表就建立好了。
5现在要开始正式编程了。
打开VC6.0.选择“文件”,“新建”,“工程”,MFC AppWizard(exe),工程名字为:Client,路径自己选择一下吧。
第一步,选择“对话框应用程序”,直接“完成”。
6现在要开始写程序了,先新建一个类吧,“Insert”,“New class”,classicType 选择:Generic Classic,Name 为:CADO,OK即可。
java链接SqlServer2000
Java链接SqlServer2000今天帮同学调试一个jsp+Servlet+JavaBean的小型网站。
需要使用sql server 2000数据库。
研究了整整一下午,愣是没有解决java链接SqlServer2000的问题。
晚上10点多了,头疼的和室友玩了一把Dota。
在游戏的时候,我仔细思考为什么能发生这种情况,总结如下:一、链接sql Server 2000的时候,必须安装补丁,在网上下载了sp4,安装之后,解压目录如下,然后运行setup.bat,在安装前需要将防火墙关掉。
二、所需要的jar包:msbase.jarmssqlserver.jarmsutil.jar三、连接数据库:package com.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class test {public static void main(String[] args) throws ClassNotFoundException {String driver ="com.microsoft.jdbc.sqlserver.SQLServerDriver";String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName =xcsgl";Class.forName(driver);System.out.println("Driver is OK");try {Connection conn = DriverManager.getConnection(url, "sa", "1314521");System.out.println("Connect to DBMS is OK!");conn.close();} catch (SQLException e) {e.printStackTrace();}}}经过测试,哦!原来sql server 2000是这样链的!!这么简单!!!。
VC++连接 SQL2000技术详解
19.4 SQL中嵌入式SQL的编译运行C语言中嵌入SQL语句的方式在pubs数据库中创建一个mystudent表插入数据读取显示。
第一步:编写预编译代码具体代码如下:c语言实现#include <stdio.h>#include <stdlib.h>EXEC SQL INCLUDE sqlca;int main(){EXEC SQL BEGIN DECLARE SECTION;//用于定义用于登录数据库操作的一些变量char sno[5];char sname[10];int age;char city[10];short cityInd;EXEC SQL END DECLARE SECTION;printf("嵌入式SQL的应用\n");EXEC SQL CONNECT TO pubs USER sa.790904;if(SQLCODE==0){printf("数据库连接成功!\n");}else{//连接DBMSprintf("ERROR:连接数据库失败!");return (1);}//程序的主体部分EXEC SQL create table mystudent(sno char(5) primary key,sname char(10) not null,age int,city char(10));EXEC SQL insert into mystudent values('9601','王永',21,'天津');EXEC SQL insert into mystudent values('9602','李萍',19,'北京');EXEC SQL insert into mystudent values('9603','高太',20,'天津');EXEC SQL insert into mystudent values('9604','刘静',20,'天津');EXEC SQL insert into mystudent values('9605','王东',23,'上海');EXEC SQL insert into mystudent values('9606','李大为',22,null);EXEC SQL WHENEVER SQLERROR GOTO error;EXEC SQL WHENEVER NOT FOUND GOTO done;EXEC SQL DECLARE mystudentCursor CURSOR FORSELECT sname,city from mystudent;EXEC SQL OPEN mystudentCursor;printf("mystudent表中的姓名和城市信息如下:\n");for(;;){//fetch net row of the result tableEXEC SQL FETCH mystudentCursor INTO:sname,:city:cityInd;//display dataprintf("姓名:%s ",sname);if(cityInd<0)//通过设置指示变量,并判断指示变量的值<0来确认输出null值printf("城市:NULL\n");elseprintf("城市:%s\n",city);}error:printf("SQL error %d\n",sqlca->sqlcode);done://close the cursor befor the comletingEXEC SQL WHENEVER SQLERROR continue;EXEC SQL CLOSE mystudentCursor;EXEC SQL COMMIT WORK RELEASE;//释放资源清除环境EXEC SQL DISCONNECT ALL;return 0;}文本编辑器编辑,并保存为esqlc.sqc第二步:预编译文件预编译器nsqlprep.exe 在安装目录的MSSQL\Binn下【由于典型安装方式并没有安装应用程序nsqlprep.exe,需要到安装盘中x86\binn目录下copy】Sql Server 2000 为其嵌入式SQL提供了一些特殊的接口,然而默认的安装并没有安装这些接口,因此需要把安装盘中的devtools文件夹中的文件拷贝到SQL SERVER的系统目录下边(注意系统目录不是安装目录)。
利用SQL Server2000的JDBC驱动程序连接SQL Server2000数据库系统的程序示例
1.1
利用 SQL Server2000 的 JDBC 驱动程序连接 SQL Server2000 数据库系统
的程序示例
1.1.1 启动和管理 SQLServer2000 数据库服务器 1、启动 SQLServer2000 数据库服务器
2、设置用户“sa”的密码
public SqlServerJdbc(String windowTitle) { super(windowTitle); int FrameWidth=600,FrameHeight=400; this.setSize(FrameWidth,FrameHeight); this.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-FrameWidth)/2,
输入密码为“1234”。
1 杨教授工作室,版权所有,盗版必究, 1/10 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
3、连接 SQL Server2000 数据库系统的连接方式 (1)命令行方式 1)将 SQL Server2000 的 JDBC 驱动程序拷贝到某一路径下(如:C:\ j2sdk1.4.0\lib) msbase.jar、mssqlserver.jar、msutil.jar 2)在系统环境变量中加人对上述三个文件的路径说明 path=c:\j2sdk1.4.0\bin; set classpath= .;C:\j2sdk1.4.0\lib\msbase.jar;C:\j2sdk1.4.0\lib\mssqlserver.jar;C:\j2sdk1.4.0\lib\msutil.jar; 3)编写连接数据库的 URL 地址 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; 4)命令行方式的实现程序代码示例 import javax.swing.*;
VC++与SQLServer连接语句(5篇)
VC++与SQLServer连接语句(5篇)第一篇:VC++与SQL Server连接语句1.ADO连接SQL Server数据库Connection语句:“Provider=SQLOLEDB.1;DataSource=serverName;Initial Catalog=databaseName;UserID=user;Password=userPassWord;”其中serverName:SQL Server的名字,本地的默认为(local),注意:local两边是有“(”,“)”的;databaseName:要连接的SQL Server数据库的名字,如abc;user:为用 SQL Server 的用户名称,默认为sa;userPassWord:SQL Server用户密码,默认为空(但是不提倡)2.例如:try //try{...}catch(...){...}是用于异常捕捉的,以便出错提示{// 打开本地SQL库XSCJ;//下面有“”,用于换行操作m_pConnection->Open(“Provider=SQLOLEDB.1;DataSource=(local);Initial Catalog=XSCJ;User ID=sa;Password=223;”,“",”“,adModeUnknown);/*adModeUnknown为Options是连接选项,用于指定Connection对象对数据的更新许可权,Options可以是如下几个常量: adModeUnknown:缺省。
当前的许可权未设置adModeRead:只读adModeWrite:只写adModeReadWrite:可以读写adModeShareDenyRead:阻止其它Connection对象以读权限打开连接adModeShareDenyWrite:阻止其它Connection对象以写权限打开连接adModeShareExclusive:阻止其它Connection对象打开连接adModeShareDenyNone:允许其它程序或对象以任何权限建立连接*/}catch(_com_error e)/*捕捉异常*/{AfxMessageBox(”数据库连接失败,确认SQL servers数据库是否已经开启!“);return FALSE;}// AfxMessageBox(”成功连接SQL数据库!");其中上语句连接本地SQL Server(local);数据库xscl;用户为sa;密码为223;m_pConnection为 _ConnectionPtr 智能指针类型第二篇:sqlserver分页语句QL Server 2000/2005 分页SQL —单条SQL语句有关分页SQL 的资料很多,有的使用存储过程,有的使用游标。
VC++环境下连接SQL_Server数据库方法指导
图9 这里选择 “查看数据 库不使用文件支 持”,还要选 择数据源,点击 “数据源 …”,弹出 如图 10 所示窗口。
4
图 10 选择“student”数据源,点击“OK”,在弹出的窗口中选择表 dbo.s,点击“OK”返回 图 9 所示的界面。以后的创建步骤中没有需要修改的地方可以直接点击完成。这样工程 exec1 就创建完成了,并且通过数据源与数据库发生了关联。 创建好的工程可以运行,结果如图 11 所示。
11
_RecordsetPtr m_pRecordset; 该指针为整个应用程序共享,所以放在 public 下面。 初始化 OLE/COM 库环境。必须注意的是,ADO 库是一组 COM 动态库,这意味应用 程序在调用 ADO 前,必须初始化 OLE/COM 库环境。在 MFC 应用程序里,一个比较 好的方法是在应用程序主类的 InitInstance 成员函数里初始化 OLE/COM 库环境。 在本例中,在 exec2.cpp 文件的 BOOL CExec2App::InitInstance()成员函数里添加如下代 码:
AfxMessageBox("输入的年龄不符合实际!"); return; } //呈增加状态 m_pSet->AddNew(); UpdateData(); //更新数据库 m_pSet->Update(); //重新获得数据 m_pSet->Requery(); UpdateData(FALSE);
(2)界面设计 在 工 作 区 左 边 的 树 型 结 构 中 , 选 择 ResourceView , 展 开 Dialog 节 点 , 双 击 IDD_EXEC2_DIALOG,打开该对话框。在这里添加所需控件。如图 17 所示。
VC+SQL_Server2000嵌入式SQL的实现
环境初始化_5 环境初始化_5
VC6.0 环境配置 Tools->options->directories>Include Files:添加 C:\Program 添加 Files\Microsoft SQL Server\Devtools\include Tools->options->directories->Lib Files:添加 添加C:\Program Files\Microsoft 添加 SQL Server\Devtools\x861ib
预编译_2 预编译_2
嵌入式例子程序 嵌入式例子程序test.sqc(注意后缀名) 注意后缀名) 嵌入式例子程序 注意后缀名
#include<stdio.h> void main() { EXEC SQL BEGIN DECLARE SECTION; char first_name[40]; char last_name[]="White"; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT TO mydb.pubs USER sa.123; EXEC SQL SELECT au_fname INTO :first_name from authors WHERE au_lname = :last_name; EXEC SQL DISCONNECT ALL; printf("first name: %s \n",first_name); } 服务器名:mydb 服务器名: 服务器名 用户名:sa 用户名: 用户名 数据库名:pubs 读取表:authors 数据库名: 读取表:
编译,连接, 编译,连接,运行
预编译测试程序 预编译测试程序test.sqc(当前目录执行 当前目录执行) 预编译测试程序 当前目录执行 VC++6.0中创建一个 "WIN32 Console 中创建一个 Application"的Proiect 的 project->Settings->Link->Object/Library Modules,添加库文件 ,添加库文件:SQLakw32.lib, , Caw32.lib 把"……\MSSQL\Binn\"中的 把 中的 SQLakw32.dll和SQLaiw32.dll拷贝到系统 和 拷贝到系统 目录的system32子目录下 目录的 子目录下 在Project中增加新的文件,即test.c,编译 在 中增加新的文件, 中增加新的文件 , 运行即可以等到结果. 运行即可以等到结果.
「客户端连接SQLServer2000无法成功的解决方案」
客户端连接SQLServer2000无法成功的解决方案问题:客户端连接服务器能ping通,但是就是连不上SQL SERVER2000数据库,其他客户都能连上就这一台无法连接!防火墙已经关闭,SP3、SP4补丁已经打过,全检查过没问题,系统也重新安装了,一看ping 服务器IP能否ping通。
这个实际上是看和远程sql server2000服务器的物理连接是否存在。
如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
要能从服务器ping 到客户端,再从客户端ping 到服务器都通。
二在Dos或命令行下输入telnet 服务器IP端口,看能否连通。
如telnet202.114.100.100 1433通常端口值是1433,因为1433是sqlserver 2000的对于Tcp/IP的默认侦听端口。
如果有问题,通常这一步会出问题。
通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项:1检查远程服务器是否启动了sql server 2000服务。
如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。
检查方法是,在服务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3检查服务器的tcp/ip端口是否配置为1433端口。
仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。
如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
浅谈Visual Basic 6.0与SQL Server 2000数据库的连接
浅谈Visual Basic 6.0与SQL Server 2000数据库的连接韩凌玲
【期刊名称】《绥化学院学报》
【年(卷),期】2006(026)006
【摘要】@@ 一、使用数据控件rn数据控件是Visual Basic访问数据库的标准控件,它通过数据库引擎接口实现数据访问.在应用程序中可以使用数据控件和各种数据绑定控件来显示和更新当前数据库中的信息.首先在窗体上添加数据控件,在VB界面中的工具箱中选择数据控件,并在窗体上添加,数据控件的大小和位置可以重新设置;然后设置数据控件连接的数据库,在属性窗口中设置数据控件的Connect 属性,单击Connect属性框,设置属性值如下:
【总页数】2页(P191-192)
【作者】韩凌玲
【作者单位】河北能源职业技术学院,河北唐山,063004
【正文语种】中文
【中图分类】TP3
【相关文献】
1.利用Visual Basic实现连接SQL Server数据库的方法 [J], 余可春
2.VB6.0与SQL Server 2000的数据库连接方案比较 [J], 姚晓玲;孔德瑾
3.基于SQL Server 2000和Visual Basic 6.0的仓库物资管理系统的设计 [J], 韦柳青;庞美军
4.在Visual Basic中调用SQL Server 2000的存储过程 [J], 王金平;阙东兰;曹秋
萍;王志霞
5.Visual Basic
6.0与SQL Server的两种连接 [J], 史寿才;王立
因版权原因,仅展示原文概要,查看原文内容请购买。
嵌入式SQL+VC配置参考
1、环境初始化(1) SQL Server2000为其嵌入式SQL提供了一此特殊的接口;默认的安装方式没有安装这此接口;因此,需要把\SQL Server 2000\SQL2000_PER\devtools 解压到C:\Program Files\Microsoft SQL Server\80\Tools\DevTools目录下(即文件夹devtools中的所有文件)这里假设SQL Server安装在C盘(或在安装Microsoft SQL Server 2000时选择安装Development Tools,为使用嵌入式SQL 语言准备必要的头文件和库文件。
)(2) 初始化Visual C++ 6.0编译器环境。
在命令行方式下运行文件\Microsoft Visual Studio\VC98\Bin\vcvars32.bat。
或(\VC98\Bin)(3) 初始化SQL Server的预编译环境。
在命令行方式下运行文件:\devtools\samples\esqlc\setenv.bat。
(需要先解压unzip_esqlc.exe)(4) VC++6.0环境配置。
具体配置分为如下三步:①Tools->options->directories->Include Files:添加 C:\ProgramFiles\Microsoft SQL Server\80\Tools\DevTools\include。
将SQLserver自带的用于数据库开发的头文件包含到工程环境中。
②Tools->options->directories->Lib Files:添加C:\ProgramFiles\Microsoft SQL Server\80\Tools\DevTools\x861ib。
将开发用到的包含到工程中。
③要在编译之前做的:project->Settings->Link->Object/Library Modules,添加库文件:SQLakw32.lib Caw32.lib。
C语言与SQL server连接
搭建环境Visual Studio 2008 + SQL Server 2008 + MSODBC(SQL Server 2008已经携带)首先将SQL Server 2008安装好并确保以开放1433端口。
检测方法:打开cmd 输入命令netstat –an回车即可得到下图:给予以上前提我们将SQL Server 的SQL Server身份验证模式打开,确保能够使用用户sa 身份登录数据库进行操作。
(这很重要)打开的方法是找到SQL Server 配置管理器将SQL Server网络配置的两个协议中的Named Pipes协议和TCP/IP协议(一共四个)全部打开。
(详细方法可在网上查到)使用sa 身份登录数据库然后创建一个数据库命名为test,在建立一个test表(a varchar(200),b varchar(200))。
配置C语言环境打开Visual Studio 2008 新建项目选择Visual C++ 下的Win32控制台应用程序设置成空项目,并输入以下代码:#include<stdio.h>#include<string.h>#include<windows.h>#include<sql.h>#include<sqlext.h>#include<sqltypes.h>#include<odbcss.h>#define MAXBUFLEN 255SQLHENV henv = SQL_NULL_HENV;SQLHDBC hdbc1 = SQL_NULL_HDBC;SQLHSTMT hstmt1 = SQL_NULL_HSTMT;/*cpp文件功能说明:1.数据库操作中的添加,修改,删除,主要体现在SQL语句上a2.采用直接执行方式和参数预编译执行方式两种*/int main(){RETCODE retcode;//预编译SQL语句UCHAR pre_sql[225] = "insert into test values(?,?)";SQLCHAR ConnStrIn[MAXBUFLEN] = "DRIVER={SQL Server};SERVER=127.0.0.1;UID=sa; PWD=yangsonghe;Trusted_Connection=yes;DATABASE=test; ";//1.连接数据源//1.环境句柄retcode = SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE ,&henv); /*第二个参数原NULL*/retcode =SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_IN TEGER);//2.连接句柄retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);retcode =SQLDriverConnect(hdbc1,NULL,ConnStrIn,SQL_NTS,NULL,NULL,NULL,SQL_DRIVER_NOP ROMPT);//判断连接是否成功if ( (retcode != SQL_SUCCESS) && (retcode !=SQL_SUCCESS_WITH_INFO) ) {printf("连接失败!\n");} else {1.分配一个语句句柄(statement handle)2.创建SQL语句3.执行语句4.销毁语句*/retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);//第一种方式//直接执行//添加操作//SQLExecDirect (hstmt1,sql,37);//第二种方式//绑定参数方式char a[200]="bbb";char b[200]="200";SQLINTEGER p = SQL_NTS;//1预编译SQLPrepare(hstmt1,pre_sql,29); //第三个参数与数组大小相同,而不是数据库列相同//2绑定参数值SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&a, 0,&p);SQLBindParameter(hstmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&b, 0,&p);//3 执行SQLExecute(hstmt1);printf("操作成功!");//释放语句句柄SQLCloseCursor (hstmt1);SQLFreeHandle (SQL_HANDLE_STMT, hstmt1);}//3.断开数据库连接/*1. 断开数据库连接2.释放连接句柄.3.释放环境句柄(如果不再需要在这个环境中作更多连接)*/SQLDisconnect(hdbc1);SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);SQLFreeHandle(SQL_HANDLE_ENV, henv);return(0);}程序中主要还是使用了和MySQL与C语言连接时相同的函数,但SQLDriverConnect函数参数较多且重要,需要着重理解。
基于C语言与SQLServer2000的嵌入式SQL编程技术
printf(“连接到 SQL Server2000 数据库上!”); for( ; ; ) {
类型 CHAR CHAR CHAR
INT CHAR CHAR
长度 6 8 2
20 30
图 1 学生基本信息表 S 的结构
3.程序模块结构 该 C 程序主要由一个 MAIN 函数及四个子函数构成,通过 对四个子函数的调用来完成对学生基本信息表的操作,其模 块结构如图 2 所示。
图 2 程序模块结构图
4.部分程序清单 (1)主程序模块 #include<stdio.h> void insert(),delete(), update(),query(); //外部 函数说明 main() //总控程序 {
2011 年第 2 期 (总第 138 期)
大众科技 DA ZHONG KE JI
No.2,2011 (Cumulatively No.138)
基于 C 语言与 SQL Server2000 的嵌入式 SQL 编程技术
吴璟莉 1 刘仁辉 2
(1.广西师范大学,广西 桂林 541004;2.桂林空军学院,广西 桂林 541003)
Char sno[8];
【收稿日期】2010-12-18 【作者简介】吴璟莉(1978-),女(满族),广西博白人,广西师范大学计算机科学与信息工程学院副教授;刘仁辉(1980 -),男,山西运城人,桂林空军学院训练部讲师。
- 42 -
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法一:ADO Data 控件是使用ADO技术访问数据库的具体实现。
可以使用ADO Data 控件快速创建一个到数据库的连接;使用Recordset对象提供对存储在数据库中数据的访问,并允许从一个记录移动到另一个记录,显示和操作记录数据但是它不能够显示数据库中数据的内容。
通常需要其他控件结合使用。
1.ADO Data控件需要用户自己手动添加。
系统菜单中选择“Project”---->“Add to Project”----->“Components and Controls”,打开“Components and Controls Gallery”的对话框,如图所示:双击“Registered ActiveX Controls”目录,可以看到已经注册的ActiveX控件,如图:双击“Microsoft ADO Data Control 6.0 (SP6) (OLEDB)”弹出如图对话框:单击“确定”,打开“Confirm Classes”窗口,为使用户能够在工程中使用ADO Data 控件,系统将在工程中自动添加7个类。
单击OK,返回对话框。
控件工具栏中新增了一个按钮,这就是ADO Data控件。
2.工程中控件工具栏选中ADO Data控件,打开控件属性,如图所示(这里数据库是用户所要用到的数据库,根据自己需要而建)单击build.如图所示选择,单击下一步,如图:单击记录源选项卡,在命令类型组合框中选择“2—adCmdTable”,然后在“表或存储过程名称”组合框中选择你要用到的数据库中的表,如图:3.要想显示数据,还需要其他控件配合同样方法添加“Microsoft DataGrid Control 6.0 (SP6) (OLEDB)”,对话框中添加DataGrid控件,属性。
如图所示。
在DataSource属性中,选择IDC_ADODC1,表示DataGrid控件接受ADO Data控件结果集中的数据。
Caption属性设置为你想要的名字这样运行一下就可以看到数据库中的内容了。
如何显示表中部分作为输出列呢?打开ADO Datqa控件的属性窗口,单击记录源选项卡,在命令类型组合框中选择“1—adCmdText”,在命令文本编辑框中输入下面命令:SELECT * FROM 表名为ADO Data 和DataGrid控件关联变量然后在C**Dlg::OnInitDialog()中添加如下代码:(**代表你所建的工程名)m_adodc.SetRecordSource("SQL 语句");m_adodc.Refresh();下面介绍如何在程序中设置DataGrid控件中各列的宽度。
需要在**Dlg.cpp中添加#include "column.h"#include "columns.h"在C**Dlg::OnInitDialog()中继续添加程序:_variant_t vIndex;vIndex=long(0);m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);vIndex=long(1);m_datagrid.GetColumns().GetItem(vIndex).SetWidth(80);..............................................................................................vIndex=long(n);m_datagrid.GetColumns().GetItem(vIndex).SetWidth(m);//GetColumns() 返回CColumns对象;//GetItem() 返回CColumn对象,此时已经确定了表格中具体的一列;//SetWidth() 函数设置列的宽度CString CDataGrid::GetItem(int ColNum){CColumns cols =GetColumns();V ARIANT v_ColNum,v_Value;v_ColNum.vt=VT_I2; //整形v_ColNum..iVal=ColNum;CColumn col =cols.GetItem(v_ColNum);v_Value=col.GetValue();retrun v_Value.bstrVal;}datagrid.cpp中需要添加#include "Column.h";datagrid.h 中添加CString GetItem(int ColNum);4.DataList控件和DataCombo控件添加方法同上。
举个例子,简单介绍一下:添加控件,关联变量:IDC_ADODC1 Control/CAdodc m_dodc1IDC_ADODC2 Control/CAdodc m_dodc2IDC_DATACOMBO1 Control/CDataCombo m_datacomboIDC_DATALIST2 Control/CDataList m_datalist控件属性:ADO Data 通用--->ConnectionString(按照之前讲解的方法连接数据库)CommandType 2-Table CommandTypeRecordSource 表名ADO Data 通用--->ConnectionString(按照之前讲解的方法连接数据库)CommandType 1-Text CommandTypeRecordSource SELECT * FROM 表名DataCombo RowSource IDC_ADODC1ListField 要显示的表中某段名,用来填充DataCombo控件的列表部分BoundColumn 段名,可看作DataList控件或DataCombo控件当前值变化后的输出值DataList RowSource IDC_ADODC2ListField 要显示的表中某段名,用来填充DataList控件的列表部分BoundColumn 段名,可看作DataList控件或DataCombo控件当前值变化后的输出值C**Dlg::OnChangeDatacombo1(){CString fileId="" // fileId 是我所用到数据库中表的一个段名CString vSql="SELECT * FROM 表名";//表名根据实际来写vDepId=m_dataCombo.GetBoundText();If(vDepId!="")vSql=vSql+"WHERE fileId="+vDepId;m_adodc2.SetRecordSource(vSql);m_adodc2.Refresh();}方法二:使用ADO访问数据库:连接到数据源;指定访问数据源命令;执行命令;若命令是数据按表中行的形式返回,则将这些行存储在异于检查、操作或更改的缓存中;适当情况下,可以更改数据库内容;提供常规的方法检测错误,ADO的Error对象。
1.在stdafx.h中#endif // _AFX_NO_AFXCMN_SUPPORT后添加#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF") //不要换行哦~2.初始化OLE/COM库环境,连接数据库BOOL C**Dlg::OnInitDialog()中添加如下程序:::CoInitialize(NULL);try{m_pConnection.CreateInstance("ADODB.Connection");_bstr_t strConnect="Provider=SQLOLEDB;Sever=ntserver;Database=breast;uid=sa;pwd=sa;"; // ""内部Provider数据源提供者,Sever 数据库服务器,Database 数据库名,uid 登陆用户名,pwd 用户密码;一会单独介绍“”内部的简单填写方式。
m_pConnection->Open(strConnect,"","",adModeUnknown);if(m_pConnection->State==adStateOpen)MessageBox("连接数据库");}catch(_com_error e){AfxMessageBox(e.ErrorMessage());}m_pRecordset.CreateInstance(__uuidof(Recordset)); //创建记录集对象m_pRecordsert->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptim istic,adCmdText); //取得表中记录catch(_com_error e){AfxMessageBox(e.ErrorMessage());}//其中bstrSQL 是要执行的SQL语句执行SQL语句m_pConnection->Execute(bstrSQL,NULL,adCmdText);例如:m_pRecordset->Open("select * frompicture",m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);3.其他的语句m_pRecordset->AddNew(); //添加新行m_pRecordset->GetFields()->GetItem("编号")->Value = (_bstr_t)m_id; //记录集中获得某一字段数据m_pRecordset->GetFields()->GetItem("照片")->AppendChunk(&m_bitdata);//在记录集中设置图像数据m_pRecordset->Upda //保存当前记录long lDataSize = m_pRecordset->GetFields()->GetItem("字段名")->ActualSize;//读取某字段实际大小4.断开数据库连接,关闭记录集If(m_pRecordset!=NULL)m_pRecordset->Close();m_pConnection->Close();::CoUninitialize();为了方便使用,我们可以创建一个ADOConn类,来实现上边的功能。