社区
数据库相关
帖子详情
急!!!数据库连不上了(在线等)
kexinlily
2003-06-14 10:22:50
我是用PB8.0做前台的,用PB里的ASA做后台
在自己的机器上能运行的,但是移到别的机器上执行
就会连不上数据库了,找不到数据源
请关各位高手,这是什么原因呀?
该怎么办呢?
help me!!!
Thanks!!!!!!
...全文
47
18
打赏
收藏
急!!!数据库连不上了(在线等)
我是用PB8.0做前台的,用PB里的ASA做后台 在自己的机器上能运行的,但是移到别的机器上执行 就会连不上数据库了,找不到数据源 请关各位高手,这是什么原因呀? 该怎么办呢? help me!!! Thanks!!!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joss
2003-06-15
打赏
举报
回复
那你一定是没有设置好ODBC和DLL文件不齐了!
按下面内容再自己仔细验证一遍文件是否齐全了!
1.必需的文件 pbvm70.dll,pbdwe70.dll ,libjcc.dll,在PB目录所在的shared目录下
2.需要ODBC支持的 pbodb70.dll,pbodb70.ini(注意这还有个INI文件是否没有COPY!)
3.特定的ODBC驱动
ASA在 Sybase\Adaptive Server Anywhere 6.0\win32 目录下,
为 dbeng6.exe,dbsrv6.exe,dbodbc6.dll
888888888888
2003-06-15
打赏
举报
回复
关注
bachelor1001
2003-06-15
打赏
举报
回复
最好确保两台机器上的路径一样,
我以前也遇到了这个问题,但好象有时不一样也行,有人说要路径距根目录的层数一样,其实我现在也还没搞明白,但我知道只要路径一样就一定能行
盼望高手来说说这是为什么?
nodd
2003-06-15
打赏
举报
回复
有这种可能:
你的db 要重新生成一个log文件,
“"C:\Program Files\Sybase\SQL Anywhere 7\win32\dblog.exe ” -n "c:\*.db"
再试一下,
"C:\Program Files\Sybase\SQL Anywhere 7\win32\dbeng7.exe " "c:\*.db" -c 8m
你试下啦
或者确保两台机器的数据库路径设置100%一样包括odbc
yumei
2003-06-15
打赏
举报
回复
重新配置数据源
shanxiit
2003-06-15
打赏
举报
回复
重新配置数据源,找到数据库文件的路经。
jeff_107
2003-06-14
打赏
举报
回复
看完上面的,问题应该能解决了,呵呵
hai_yu2000
2003-06-14
打赏
举报
回复
把日至文件删了
joss
2003-06-14
打赏
举报
回复
1、检查ODBC设置是否正确
2、相应的DLL文件和INI文件是否齐全!
linleming
2003-06-14
打赏
举报
回复
是不是odbc配置的问题,看看下面的文章可能对你有帮助!!!
在PB中用代码配置ODBC
在编写PB(PowerBuild)的Windows应用程序中,常常涉及到数据库的配置,特别是网络数据库的配置,通常基于网络的应用程序发行需要手工设置ODBC。本文介绍一种代码配置的方法可以免去在进行单机或网络数据库应用程序时进行手工配置ODBC的烦琐。PowerBuilder是功能强大的客户端开发工具,它的优势在于数据库应用程序的开发,所以绝大部分应用必须与数据库管理系统配合起来才能运行。OBDC是一种编程接口,它能使应用程序访问以结构化查询语言(SQL)作为数据访问标准的数据库管理系统。PB与数据库的连接可以通过ODBC接口实现,在ODBC中配置好数据源后,便可在程序代码中连接数据库并对数据库进行各种操作了。配置ODBC的方法主要有三种:手工配置、代码自动配置和通过安装程序(如InstallShield等专业安装程序)自动配置。大部分PB资料对手工配置ODBC均作了介绍,在这里主要介绍在代码中进行ODBC的配置的方法。第三种方法可以参考InstallShield等软件的使用说明。
原 理
Windows中所有的ODBC数据源在系统注册表中都有记载,因此只要编写相应的代码对注册表中的项目进行相应的修改即可。Windows中与ODBC相关的键,主要有下面几项:
HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBCDRIVER 记录所有已安装的ODBC驱动程序;
HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI 记录各种ODBC驱动程序的相关信息;
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources 记录各种数据源的类型;
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI 记录各种数据源的详细信息。
只要打开Windows 95(Windows 98、Windows NT4或Windows 2000)菜单“开始”,然后单击“运行”,输入Regedit运行注册表程序,在注册表中选择左边的树结构,查找上述相应的选项,就可以看到其中的详细信息。
我们只要在代码中对这些键进行配置,便可达到配置ODBC的目的。
实 现
下面以PowerBuilder 7.0 内置的Sybase SQL Anywhere 6.0数据库为例介绍ODBC的代码配置方法。
1、打开注册表,找到数据库驱动程序及相关文件
首先找到相应的数据库驱动程序,这些文件可以在注册表的HKEY_LOCAL_MACHINE\Software
\ODBC\ODBCINST.INI下相应键中找到。如Sybase SQL Anywhere 6.0为dbeng60.exe,Wod60t.dll,以及一些其他相关的动态链接库,此例中为Dbl60t.dll、Wl60ent.dll、Wtr60t.dll、Wodbc.gid和Wtr60t.dll。这些文件必须与最终的可执行程序一起安装到用户的计算机上。它们可以与应用程序放在一起,也可以放在一个特定的目录下(本例为Windows 98的System目录下)。在调试时可先将这些文件复制到指定的目录下。
2、在应用程序中用PB脚本代码配置ODBC
在应用的Open事件中对ODBC配置的脚本代码如下:
Ulong ul_num;
Int li_sysdir,li_dir1,li_dir2,li_dir3,li_dir4,li_dir5,li_app;
String ls_driver,ls_start,ls_location,ls_apppath,ls_dbpath,ls_odbcstr;
//获取操作系统的system目录,并保存到ls_location变量
li_sysdir = RegistryGet(″KYEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup″,″SysDir″,RegString!ls_location);
IF li_sysdir = -1 THEN
Messagebox(′错误′,′应用程序无法获取Windows的系统目录,系统将终止运行!′,Stopsign!);
RETURN;
END IF
//判断Sybase SQL Anywhere6.0的驱动程序是否正确安装
ls_driver = ls_location+′\WOD60T.DLL′
ls_start = ls_location+′\dbeng60.EXE′
IF NOT (FileExists(ls_driver) AND FileExists(ls_start)) THEN
Messagebox(′错误′,′系统中没有安装SQL Anywhere 6.0的驱动程序,系统将终止运行!′,StopSign!);
RETURN;
END IF
//设置ODBC\ODBCINST.INI\ODBC DRIVERS
li_sysdir=RegistrySet(′HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBCDRIVER′,′Sybase SQL Anywhere 6.0′,RegString!,′Installed′);
IF li_sysdir = -1 THEN
Messagebox(′错误′,′应用程序无法设置ODBC DRIVERS,系统将终止运行!′,StopSign!);
RETURN;
END IF
//设置ODBC\ODBCINST.INI
li_dir1=RegistrySet(′HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 6.0′,′CPTimeout′,RegString!,′not pooled′)
li_dir2=RegistrySet(′HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 6.0′,′Driver′,RegString!,ls_driver)
li_dir3=RegistrySet(′HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 6.0′,′Setup′,RegString!,ls_driver)
IF li_dir1=-1 OR li_dir2=-1 OR li_dir3=-1 THEN
Messagebox(′错误′,′应用程序无法设置ODBCINST.INI,系统将终止运行!′,StopSign!);
RETURN;
END IF
//设置ODBC DATA SOURCE(MyDataSource为数据源名)
li_sysdir=RegistrySet(′HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Data Sources′,′MyDataSource′,RegString!,′Sybase SQL Anywhere 6.0′);
IF li_sysdir=-1 THEN
Messagebox(′错误′,′应用程序无法设置ODBC DATA SOURCE,系统将终止运行!′,StopSign!);
RETURN;
END IF
//获取应用程序的安装路径(MyApp为应用程序安装到用户计算机上后在注册表中注册的应用程序名,MyDatabase.db为应用程序的数据库名,与应用程序在同一目录下,MyDataSource为数据源名)
li_app=RegistryGet(″KYEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp″,″Path″,RegString!ls_apppath)
IF li_app=-1 THEN
Messagebox(′错误′,′应用程序无法获取程序安装路径名,系统将终止运行!′,StopSign!);
RETURN
ELSE
ls_dbpath=ls_apppath+′MyDatabase.db′;
END IF
//设置ODBC.INI
li_dir1=RegistrySet(′HKEY_current_user\software\odbc\odbc.ini\MyDataSource′,′driver′,RegString!,ls_driver);
li_dir2=RegistrySet(′HKEY_current_user\software\odbc\odbc.ini\MyDataSource′,′start′,RegString!,ls_start);
li_dir3=RegistrySet(′HKEY_current_user\software\odbc\odbc.ini\MyDataSource′,′autostop′,RegString!,′yes′);
li_dir4=RegistrySet(′HKEY_current_user\software\odbc\odbc.ini\MyDataSource′,′DataBaseFile′,RegString!,ls_db_path);
li_dir5=RegistrySet(′HKEY_current_user\software\odbc\odbc.ini\MyDataSource′,′DataBaseName′,RegString!,′MyDatabase′);
IF li_dir1=-1 OR li_dir2=-1 OR li_dir3=-1 OR li_dir4=-1 OR li_dir5=-1 THEN
Messagebox(′错误′,′应用程序无法设置ODBC.INI,系统将终止运行!′,StopSign!);
RETURN
END IF
ls_odbcstr=′dsn=MyDataSource;databasename=MyDatabase;databasefile=′+ls_dbpath;
sqlca.dbms=′odbc′;
sqlca.databse=′MyDatabase′;
sqlca.dbparm=″connectstring=′ ″+ls_odbcstr+″;uid=dba;pwd=sql′ ″;
connect using sqlca;
open(w_frame);
该程序在Windows 98 中用PowerBuilder 7.0 调试通过。
topsun
2003-06-14
打赏
举报
回复
从新odbc连接,把profile从写到应用脚本一遍
kakugigo
2003-06-14
打赏
举报
回复
先安装ASA,然后配置数据源
或者在程序启动是修改注册表
yzc
2003-06-14
打赏
举报
回复
我认为是你的日志.log文件的问题,
liaolwj
2003-06-14
打赏
举报
回复
你配置了数据源没有,在控制面板里
如果实在不行安装一下ASA就可以了
kexinlily
2003-06-14
打赏
举报
回复
我在别的机器上建立了ODBC连接
但是没有找不到数据源呀
落日的方法是不是太麻烦了点呀?
有的人说是随机性的问题
如果这样,那岂不是都不能保证不能移动了
joincsdn
2003-06-14
打赏
举报
回复
同意楼上linleming(落日) 的说法
cool18_2k
2003-06-14
打赏
举报
回复
asa是用odbc方式连接的。
你是否在那台电脑的系统中建立了asa数据库的odbc连接呢?
看你的“找不到数据源”的问题,应该是这个原因。
kexinlily
2003-06-14
打赏
举报
回复
还是不太明白呀
说得都这么复杂
有没有更好一些的办法呀
我把所有东西都拷过去了呀
新手小白如何正确区分数据仓库和
数据库
!!!
在当今数据驱动的商业环境中,数据仓库和
数据库
的区别对于企业实现有效的数据管理至关重要。本文旨在探讨这两种技术的核心区别以及它们如何支持不同类型的数据操作。通过详细分析OLTP(
在线
事务处理)和OLAP(
在线
分析处理)的特点,本文将解释为何数据仓库和
数据库
在功能和设计上有着根本的不同。我们还将深入了解数据仓库的分层架构和数据处理流程,包括ETL和ELT的实际应用。无论您是数据科学领域的新手还是有经验的专业人士,本文都将提供有价值的见解,帮助您更好地理解这些关键技术如何在不同场景下发挥作用。
浅析
数据库
(DB)、操作数据存储(ODS)和数据仓库(DW)的区别与联系
文章背景:相信大部分刚接触上面三个概念的同学,都多多少少会有些迷惑,现在我就给大家简单分析下这三者的关系,希望大家对这三者的概念理解有所帮助吧。本文主要从下面两类关系来叙述上面三者的关系:
数据库
(DB)和数据仓库(DW)的区别与联系 操作数据存储(ODS)和数据仓库(DW)的区别与联系
数据库
与数据仓库的区别与联系
数据库
与数据仓库基础概念:
数据库
:传统的关系型
数据库
的主要应用,主要是基本的、日常的
Azure
数据库
服务比较:SQL Database vs Cosmos DB
结构化数据场景:如订单管理、用户认证等需要强事务支持的业务非结构化/半结构化场景:如物联网设备日志、社交网络数据、实时推荐系统:基于传统关系型
数据库
(SQL Server)的云原生服务,支持ACID事务和复杂SQL查询Cosmos DB:全球分布式NoSQL
数据库
,支持多模型(文档、键值、图、宽列)和弹性扩展两者的架构设计哲学有何本质区别?数据建模和查询语言的差异如何影响开发体验?一致性、可用性、吞吐量的权衡模型如何选择?典型业务场景下的选型决策依据是什么?技术原理对比。
database.db 文件详解:
数据库
文件在 SQLite 中的作用与使用
本文解析了Python项目中自动生成的database.db文件的作用和使用方法。该文件是SQLite
数据库
的默认存储文件,包含表结构、数据记录和索引等信息。文章详细介绍了SQLite的存储原理、查看和操作方法(命令行与可视化工具)、备份策略及常见问题解决方案,并强调
数据库
管理需严谨,避免数据丢失。掌握.db文件的特性能帮助开发者更高效地进行项目调试和
数据库
维护。
数据库
和数据仓库的区别
数据库
是一种用于存储、管理和处理结构化数据的软件系统。它的设计目的是支持大规模的数据持久化和高效的数据检索、插入、更新和删除操作。
数据库
中的数据通常以表格形式存储,可以通过SQL等查询语言进行访问和操作。
数据库
通常用于
在线
事务处理(OLTP)场景,例如管理用户账户、订单、库存等业务数据。
数据库相关
754
社区成员
12,762
社区内容
发帖
与我相关
我的任务
数据库相关
PowerBuilder 数据库相关
复制链接
扫一扫
分享
社区描述
PowerBuilder 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章