注意:我是开发人员...
我有一个资产表,其中包含许多代码,这些代码是进入第二个表 OutlineFiles 的外键。OutlineFiles 表将类型和代码作为主键。外键约束需要看起来像这样......
ALTER TABLE "dbo"."Assets"
ADD CONSTRAINT "Locations" FOREIGN KEY ( "LN", "LocationCode" ASC )
REFERENCES "dbo"."OutlineFiles" ( "Type", "Code" );
ALTER TABLE "dbo"."Assets"
ADD CONSTRAINT "CostCentre" FOREIGN KEY ( "CC", "CostCentreCode" ASC )
REFERENCES "dbo"."OutlineFiles" ( "Type", "Code" );
Run Code Online (Sandbox Code Playgroud)
因此,将通过“LN”和“CC”的固定值与轮廓表建立关系。或者将数据库更改为有两个表并删除 OutlineFiles 表上的 Type 列会更容易吗?我正在 Sybase 中尝试这个,但我们支持许多数据库。
我长期以来一直在使用旧的 SQL Server 2000 安装,该安装与多个 Oracle 服务器相关联,并且一切正常。
我正在尝试通过 SQL Server 2008 迁移到 SQL Server 2012。
我在 SQL Server 2008 和 SQL Server 2012 上的链接 Oracle 服务器上遇到了一些问题。
我下载了最后一个 Oracle 10 Instant Client,因为我们有一些我需要访问的较旧的 Oracle 数据库,并且已经配置tns_admin
,并使用 SQL Plus 进行了检查;到目前为止一切都很好。
我创建了一个 ODBC 系统 DSN 以指向 Oracle 数据库之一。然后我使用该 DSN 创建了我的链接服务器。
链接服务器返回标准日期查询,select sysdate from dual
很好,并且也会返回特定查询的计数。但是,当我尝试从表中返回实际行时,得到的数字比应有的要小。
此外,如果我运行聚合 GROUP-BY 查询,我只会返回一行!
我会尝试从 Oracle 下载完整的客户端,但在他们无限的智慧中,v10 客户端不再可用!
任何帮助或建议将不胜感激。
我有一个 Microsoft Access 数据库,它通过 ODBC 连接到 MySQL 服务器,并由多个用户访问。
随着时间的推移,许多记录被锁定,无法再进行编辑。
有没有办法批量解锁所有记录?
错误信息:
自从您开始编辑此记录以来,该记录已被其他用户更改。如果您保存记录,您将覆盖其他用户所做的更改。将更改复制到剪贴板将让您查看其他用户输入的值,然后在您决定进行更改时将更改粘贴回。
我有一个 Access 前端用户界面,它使用最新的 ODBC 驱动程序链接到 postgreSQL 数据库中的表。我可以链接到 postgreSQL 表和视图,但无法访问物化视图。
该线程描述了驱动程序的补丁以包含物化视图。有谁知道这个补丁是否包含在最新的驱动程序中?如果没有,我将如何应用它?如果包含,需要选择哪些选项才能从 MS Access 访问物化视图?
我们的 ERP 系统比现代系统稍差,后端目前安装在 SQL Server 2008 R2 上。我们通过管理授权(并非总是如此)允许许多用户随意从该系统中提取数据以将数据处理为他们喜欢的报告风格(BI、Powerquery、Access),这是完全不切实际的做法。 、Excel 等)
尽管所有这些报告生成用户都只有选择权限,但还有一些其他应用程序能够实际操作数据,以执行 EDI、自动数据输入等操作。
从逻辑上讲,这会在表上创建许多竞争条件。先到先得,或者更糟的是,仍在提供服务,请稍等,或者只是不......我相信这进一步导致了多年来无法解释的数据损坏需要供应商协助纠正。因为并非所有应用程序都经过正确编码以预测其他事物可能会中断其自己的私有意图的可能性。
因此,任务是在我最近才继承的系统上尽可能证明/纠正/减轻它。
我的第一直觉告诉我,如果没有不同供应商产品之间的某种 IPC/错误/事务控制以及他们修复它的意愿、控制源代码或限制它的能力,这是无法完成的,这不能从 DBA 修复从角度来看,这只是导致应该预期的潜在有害副作用的不良做法。
所以此时我所能做的就是证明这一点,看看如果有证据,我可以在坚持必须这样做的管理层心中征求某种行为改变。
第一步,我正在运行一个连续的分析器输出到磁盘,尽管资源密集,但我必须能够返回并查看已提交的内容,由谁提交,以及它产生了什么影响。我还使用 perfmon 日志记录和 PAL 来尝试交叉引用服务器上的密集行为,“当处理器和内存挂钩时,SQL 服务器在该实例中做了什么(很可能是为编写的 GUI 之一提供服务,性能不佳,十个表连接,非索引查询,一些报告编写者/工具扔在一起”
其中一种情况刚刚发生,我们在 ERP 系统中有一个用户无法执行某项功能,我们发现该用户登录的数据库没有使用 ERP 软件(使用 ODBC,SQL 用户只能选择访问,以及MS Access),让他们断开连接并完成该功能。管理层拒绝相信它们是相关的,因为它们“应该处理不同的表,而用户只有选择访问权限”,而且我没有发生之前瞬间的个人资料历史记录。
所以,这一切归结为一个问题,DBA学员在那里,给的任务验算该应用程序A被应用B的不利影响,你有什么建议给报价?
当我收到错误时,他们中的一些人有一个HY
代码,
ERROR 2002 (HY000): 无法通过 socket '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器(2“没有这样的文件或目录”)
我已经创建了一个到 SQL Server 2005 的 ODBC 连接。
当我从 MS Access 链接到表时,有些表只有“已删除”的数据。
这意味着显示了行和列,但所有数据似乎都被“删除”(图像中的“Geloscht”)
我发现同一个数据库的一些表可以正常工作,这很了不起。
我对下面的声明有疑问。查询的主要目的是将客户列表从 ODBC 提取到 Access 数据库中(我们的客户存储在 IBM i 上的 DB2 中)。该查询旨在查找超过 13 个月未交付 (RS2101F.DELDATE) 但尚未被抑制 (OM01U1.OM01068) 的客户 (OM01U1.OM01015)。我确实需要所有的列来研究设备和财务记录,所以我无法移除它们。不过,该声明是从几个表中提取的。我认为问题可能出在“Group By”上。当我收到结果时,我也得到了重复的出口 (OM01U1.OM01015)。我只需要看到最后一次交货日期 (RS2101F.DELDATE) 一次。请不要把我打得太糟,我没有创建这个查询,我只是继承了它。我知道这很遥远,而且可能有更好的方法来获取我需要的信息。我感谢任何帮助家伙!
SELECT
OM01U1.OM01041 as Loc,
OM01U1.OM01015 AS Outlet,
OM01U1.OM01945 AS OLTyp,
OM01U1.OM01052 AS Outlet_Name,
OM01U1.OM01054A AS Street_Number,
OM01U1.OM01054C AS Street_Name,
OM01U1.OM01055A AS City,
OM01U1.OM01055B AS State,
OM01U1.OM01106 AS Zip,
OM01U1.OM01058A AS Area_Code,
OM01U1.OM01058C AS Phone,
OM01U1.OM01037 AS Channel,
OM01U1.OM01926 AS USA_Type,
OM01U1.OM01078 AS Key_Acct,
OM01U1.OM01110 AS TRDGRP,
OM01U1.OM01034 AS Trade_Name,
OM01U1.OM01248 AS DTC,
OM01U1.OM01073 AS Sales_Route,
OM01U1.OM01068 AS Sup_CDE,
OM01U1.OM01982 …
Run Code Online (Sandbox Code Playgroud) 当尝试查询某些 db2 表时,我得到#Deleted
了表中的所有值。但对于其他表,它工作正常。
此查询的行数等于使用数据工作室客户端时的行数,因此它实际上查询的是同一个表,只是字段显示不正确。
这个数据工作室的结果看起来像这样
并且 ms 访问结果如下所示
更新
检查其他表格后,我发现了相似之处。包含大量记录的表给了我结果(但值是“#Deleted”)。其他表正确显示结果。
我知道以前有人问过这个问题。我一直在遵循MSQL Tips 中广泛的故障排除步骤以及我可以在 Google 上找到的每个答案。我真的很难过。
错误如下:
我似乎无法克服这个错误。每次安装/卸载 MS SQL Server 时,我都会收到相同的错误。我什至对笔记本电脑进行了硬重置,甚至删除了 BIOS 信息,但我仍然遇到相同的错误。我发现 MS SQL Server 的安装是并发的,所以这可能解释了它。
我什至设置了一台运行 Windows 7 的虚拟机进行调试并得到完全相同的消息。该应用程序可以在不同的工作站上运行并完美运行。似乎问题是硬编码到我的计算机上。
我在同一台机器上有两个 SQL Server 实例,一个是 2008 年,一个是 2016 年。两个实例都有一个链接服务器连接到同一个 Oracle 12 服务器。
如果我运行以下查询,2008 年将 1.23 作为 VARCHAR 返回,但 2016 年将其作为浮点数返回
SELECT * INTO #tst FROM OPENQUERY(JOHPROD,'SELECT 1.23 FROM dual')
SELECT t.Name,* FROM tempdb.sys.columns c
INNER JOIN sys.types t ON t.system_type_id = c.system_type_id
WHERE [object_id] = OBJECT_ID(N'tempdb..#tst');
Run Code Online (Sandbox Code Playgroud)
两个实例都指向同一个 Oracle 服务器,并且都使用同一个 Oracle ODBC 驱动程序。
两个链接服务器都具有相同的定义...
EXEC master.dbo.sp_addlinkedserver @server = N'ORAPROD', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'ORAPROD'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ORAPROD',@useself=N'False',@locallogin=NULL,@rmtuser=N'ORAUSER',@rmtpassword='########'
GO
EXEC master.dbo.sp_serveroption @server=N'ORAPROD', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'ORAPROD', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption …
Run Code Online (Sandbox Code Playgroud) 试图了解 SAP Hana S/4 1610 哪些是可能的,哪些是不可能的。
我的理解是,只需使用安装了所需 ODBC 驱动程序的 SAP HANA 客户端,就可以通过 ODBC 访问底层 SAP HANA DB。根据我所读到的内容,一旦安装,就可以使用 SSIS 等工具通过标准 ODBC 调用访问支持 SAP ERP 的大量数据存储。
但是,我被告知其他人提供的相互矛盾的信息是否可能,并且真正需要的是供应商控制该过程并让他们在 ABAP 中编写应用程序,这些应用程序将询问底层数据库并交付我们的 ETL 过程将使用的平面文件。
我们将使用本地托管的 SAP HANA 安装,因此,不在本地,但也没有阴天。
说明:我在这里只需要一个是,您可以通过 ODBC 连接到 SAP HANA S/4 1610,也可以否,您不能,并且需要另一种方法。
TBH 对如何也不感兴趣,因为我在网上阅读的其他所有内容都告诉我这一点。然而,当你每小时 100 亿美元的顾问说不时,人们不得不质疑现实。
我有一个 mdb 文件,其中包含许多 OBDC 链接表,这些表链接到其他地方的 SQL 服务器中的表。我看不到有关它们如何“链接”的任何信息。不知道意外的按键是否会影响实时数据库,这有点可怕。
如果SQL server表被修改了会不会自动反映到表中,什么时候?如果我编辑链接的 Access 表,它会反映在 SQL 服务器表中吗?(Trusted_Connection=YES 有什么意义?)