社区
MS-SQL Server
帖子详情
如何在程序里创建一个ODBC数据源
vcbacker
2003-06-24 12:19:24
我找了一些资料是访问access的,我想连接到SQL server,
用vc怎么做?
还是用SQLConfigDataSource吗?
还有问一下在程序里怎么判断数据源已经存在了?
...全文
72
3
打赏
收藏
如何在程序里创建一个ODBC数据源
我找了一些资料是访问access的,我想连接到SQL server, 用vc怎么做? 还是用SQLConfigDataSource吗? 还有问一下在程序里怎么判断数据源已经存在了?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pengdali
2003-06-24
打赏
举报
回复
Declare Integer SQLConfigDataSource In odbccp32 Integer, Integer, String, String
**上面这句是调用WINDOWS 的API函数,VFP本身的函数创建不了数据源,应该调用WINDOWS的。
lnWindowHandle=0 &&先给连接句柄定义一个值,为0。
lcODBCDriver='SQL Server' &&DRIVER类型,当然选SQL Server
lcODBCName='aaaaaa' &&要创建的数据源名字
lcODBCDesc='aaaaaa' &&数据源描述,可有可无的东西。
lcODBCServer='127.0.0.1' &&SQL SERVER名字----初始化中应该为变量,由用户从表单上输入,本模块的第一行即是接收这个参数的.
lcODBCdatabase='' &&要连接的数据库名字。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0);
+ 'Database=' + lcODBCdatabase + CHR(0)) &&检测是不是已经有ODBC数据源
If lreturn=0 &&如果没有检测到ODBC数据源
lreturn1=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0);
+ 'Database=' + lcODBCdatabase + CHR(0)) &&如果创建失败
if lreturn1=0
=Messagebox('添加ODBC数据源失败!',16,'提示') &&错误处理
else
=Messagebox('添加ODBC数据源成功!',72,'提示')
endif
Else
=Messagebox('修改ODBC数据源成功!',72,'提示')
Endif
IamCxy
2003-06-24
打赏
举报
回复
以下是VFP的,原理一樣吧
===========================================
public lnWindowHandle
public lcODBCDriver
public lcODBCName
public lcODBCDesc
public lcODBCServer
public lcODBCDatabase
public lcUserName
public lcPassword
public lnHandle
lnWindowHandle=0
lcODBCDriver='SQL Server' && DRIVER類型
lcODBCName='MyDB' && 數据源名字
lcODBCDesc='Data Source' && 數据源描述
lcODBCServer='Shared' && SQL SERVER名字
lcODBCDatabase='MyDB' && 要連接的數据庫名字
lcUserName="sa"
lcPassword="76577865"
===========================================================
DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER, INTEGER, STRING, STRING
*先修改已有的ODBC,如果不存在,返回0。
lreturn=SQLConfigDataSource(lnWindowHandle, 2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
if lreturn=0 &&不存在,添加新的ODBC
lreturn=SQLConfigDataSource(lnWindowHandle, 1, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
if lreturn==0 then
MessageBox('服務器連接失敗,請檢查網路是否連通或SQL Server是否已啟動',16,'警告')
return
endif
endif
lnHandle=SQLConnect("&lcODBCName","&lcUserName","&lcPassword")
if lnHandle<=0 then
MessageBox('服務器連接失敗,請檢查網路是否連通或SQL Server是否已啟動',16,'警告')
return
endif
==================================================================
*和服務器斷開連接
=SQLdisconnect(lnHandle)
*刪除ODBC數據源
lreturn=SQLConfigDataSource(lnWindowHandle, ;
2, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
if lreturn==1
*ODBC數據源存在,則刪除
lreturn=SQLConfigDataSource(lnWindowHandle,3, lcODBCDriver, ;
'DSN=' + lcODBCName + CHR(0) ;
+ 'Description=' + lcODBCDesc + CHR(0) ;
+ 'Server=' + lcODBCServer + CHR(0) ;
+ 'Database=' + lcODBCDatabase + CHR(0))
endif
vcbacker
2003-06-24
打赏
举报
回复
多谢二位。
mysql的
ODBC
数据源
(mysql-connector-
odbc
-5.1.8-win32.msi)
Power Designer逆向操作(从mysql5.0生成数据库的物理模型)所需的
数据源
Access2010数据库
ODBC
驱动
Access2010数据库
ODBC
驱动
MySQL
ODBC
5.1 Driver(Mysql驱动免安装版)
MySQL
ODBC
5.1 Driver Mysql驱动绿色免安装版
odbc
cp32.dll 和
odbc
cp32.lib 对于VS2010 + MySQL5.5
ODBC
http://blog.csdn.net/zm_li_share/article/details/17934735 详见此博客介绍。
mysql-connector-
odbc
-5.1.7-winx64驱动安装包
mysql-connector-
odbc
-5.1.7-winx64 单独安装包
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章