c怎么连接sql server数据库

c怎么连接sql server数据库,第1张

1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796#filelist <3>.SQL Server 2005 driver for JDBC 下载地址:http://download.microsoft.com/download/8/B/D/8BDABAE2-B6EA-41D4-B903-7916EF3690EF/sqljdbc_1.2.2323.101_enu.exe 2.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证) 是用java连接吗? 如果是,方法如下: <1>将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量 在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar <2>设置SQLEXPRESS服务器: a.打开SQL Server Configuration Manager ->SQLEXPRESS的协议 ->TCP/IP b.右键单击启动TCP/IP c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433 d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器 e.关闭SQL Server Configuration Manager <3>打开刚刚安装好的 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample <4>打开Eclipse a.新建工程->Java ->Java project,起名为Test b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中 <5>编写Java代码来测试JDBC连接SQL Server数据库

// TestADOSql.cpp : 定义控制台应用程序的入口点。

//

 

#include "stdafx.h"

#include "iostream"  

#include "string"  

#include "vector"  

//步骤1:添加对ADO的支持

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")  

using namespace std

 

int _tmain(int argc, _TCHAR* argv[])

{

    CoInitialize(NULL) //初始化COM环境           

    _ConnectionPtr pMyConnect(__uuidof(Connection))//定义连接对象并实例化对象 

    _RecordsetPtr pRst(__uuidof(Recordset))//定义记录集对象并实例化对象               

    try           

    {              

        //步骤2:创建数据源连接

        /*打开数据库“SQLServer”,这里需要根据自己PC的数据库的情况 */             

        pMyConnect->Open("Provider=SQLOLEDB Server=.Database=AIS2 uid=sa pwd=","","",adModeUnknown)           

    } 

    catch (_com_error &e)           

    {               

         cout<<"Initiate failed!"<<endl               

         cout<<e.Description()<<endl               

         cout<<e.HelpFile()<<endl               

         return 0           

    }           

    cout<<"Connect succeed!"<<endl                 

      

    //步骤3:对数据源中的数据库/表进行 *** 作

    try           

    {

        pRst = pMyConnect->Execute("select * from gendat",NULL,adCmdText)//执行SQL: select * from gendat          

        if(!pRst->BOF) 

        {

            pRst->MoveFirst() 

        }               

        else

        {                    

            cout<<"Data is empty!"<<endl                     

            return 0                

        }               

        vector<_bstr_t> column_name      

          

        /*存储表的所有列名,显示表的列名*/               

        for(int i=0 i< pRst->Fields->GetCount()i++)               

        {                    

            cout<<pRst->Fields->GetItem(_variant_t((long)i))->Name<<" "                    

            column_name.push_back(pRst->Fields->GetItem(_variant_t((long)i))->Name)               

        }   

        cout<<endl

          

        /*对表进行遍历访问,显示表中每一行的内容*/               

        while(!pRst->adoEOF)               

        {                    

            vector<_bstr_t>::iterator iter=column_name.begin()                    

            for(iteriter!=column_name.end()iter++)                    

            {                         

                if(pRst->GetCollect(*iter).vt !=VT_NULL)                         

                {  

                    cout<<(_bstr_t)pRst->GetCollect(*iter)<<" "                         

                }                         

                else

                {

                    cout<<"NULL"<<endl  

                }                  

            }

            pRst->MoveNext()                   

            cout<<endl              

        }           

    }

    catch(_com_error &e)           

    {               

        cout<<e.Description()<<endl               

        cout<<e.HelpFile()<<endl               

        return 0          

    }  

 

    //步骤4:关闭数据源

    /*关闭数据库并释放指针*/        

    try           

    {               

        pRst->Close()     //关闭记录集               

        pMyConnect->Close()//关闭数据库               

        pRst.Release()//释放记录集对象指针               

        pMyConnect.Release()//释放连接对象指针

    }

    catch(_com_error &e)           

    {               

        cout<<e.Description()<<endl               

        cout<<e.HelpFile()<<endl               

        return 0           

    }                  

    CoUninitialize() //释放COM环境

    return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9913739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存