我们有一个 SQL Server 2008 数据库,我们试图将它与 Access 2007 DB 链接(维护人员在大厅工作并拒绝迁移到 SQL Server)。我们有数据库的密码(假设数据库密码 = dbpassword,如果只有这个级别的保护,我认为我们已经链接到 Access 数据库,问题很少。
但是,Access 数据库位于网络驱动器上,并且位于该网络驱动器上受保护的目录中。我们知道用户名和密码(假设用户名 = cat 和密码 = pancakes)。
我正在研究这个 sp_addlinkedsrvlogin,我相信这是我们需要做的。不是吗?
sp_addlinkedsrvlogin [ @rmtsrvname = ] 'rmtsrvname'
[ , [ @useself = ] 'TRUE' | 'FALSE' | NULL ]
[ , [ @locallogin = ] 'locallogin' ]
[ , [ @rmtuser = ] 'rmtuser' ]
[ , [ @rmtpassword = ] 'rmtpassword' ]
Run Code Online (Sandbox Code Playgroud)
问题是,我不知道在这些参数中放什么。
我假设 rmtuser 将是“猫”,而 rmtpassword 将是“煎饼”......
以下是 Access 数据库的完整路径:\volume9\v9\projects\cats\cooking\pancakedb\back-end
volume9 似乎对应于 K: 驱动器...
那么 …
我在 SQL Server 中有这个查询:
SELECT Dated, AccountID, AccountName, Rate,
case (when (Credit-Debit) > 0 then Credit-Debit END) as Credit,
case (when (Credit-Debit) < 0 then Credit-Debit END) as Debit,
Balance
FROM TempTrallBalance
Run Code Online (Sandbox Code Playgroud)
如何将其转换为 Access 语法?
我是数据库设计的菜鸟,所以请耐心等待。我在 Microsoft Access 中有两个表:
表格1:
| ID | Field1 | Field2 |
|:---|--------|:-------|
| 1 | A | 1 |
| 2 | A | 2 |
| 3 | B | 5 |
| 4 | C | 8 |
| 5 | D | 20 |
| 6 | E | 32 |
| 7 | F | 22 |
| 8 | F | 7 |
Run Code Online (Sandbox Code Playgroud)
表 2:
| ID | Field1 | Field2 |
|:---|--------|:-------|
| …Run Code Online (Sandbox Code Playgroud) 我想填充,用SQL查询,现场F与百分比在总有些领域f,使得每个记录F(i)的字段F为:
F(i) = f(i)/SUM_i(f(i))
Run Code Online (Sandbox Code Playgroud)
字段f和 都F位于表中MyTable。
然而,我正在努力开发一个能够做到这一点的查询。我的尝试是:
INSERT INTO MyTable (F)
SELECT f/MyField.fSum
FROM MyTable, (SELECT SUM(f) AS fSum FROM MyTable) AS MyField
Run Code Online (Sandbox Code Playgroud)
但是这段代码会在 table 中插入新行MyTable。我不知道如何从这里开始,因为我的理解是该UPDATE声明非常有限,并且对执行此操作没有用。
关于如何以最简单的形式做到这一点的任何想法?
我刚刚调用了这些列f,F为了说明目的,这不是它们在实际数据库中的命名方式。
MS Access 中的查询就像 oracle 中的视图一样,您可以对它们进行查询。示例:如果您在 access 中有一个名为 allProducts 的查询,您也可以这样做
SELECT * from allProducts;
Run Code Online (Sandbox Code Playgroud)
我的问题是,Sql Server 中的等价物是什么?我目前正在开展一个项目,我们将所有 ms access 数据库转换为 ms sql server。表被转换为表,但是我们的程序员非常了解我们的程序员使用访问查询,如上面的例子,查询呢?
我正在尝试汇总大约 500-1000 个处理各种小型企业问题(库存、采购订单等)的 MS Excel 文件,我目前正在尝试决定我应该使用哪种类型的 RDMS。为您提供更多详细信息,该数据库将主要由托管在网络服务器上的 1 到 2 人使用。目前,我一直在玩弄 MariaDB 和 Microsoft Access。Excel 数据很容易导入到 MS Access 中,在使用 MariaDB 导入相同的数据时,我遇到了一些障碍。数据库必须易于查询,并且必须能够轻松地从电子表格中导入数据。
我不确定要往哪个方向发展,我是继续使用 MariaDb 和 MySQL 还是继续使用 MS Access。或者,我应该使用其他东西吗?
我有一些可以在 Access 中使用的代码,但现在我想将代码转发给我们的 IT 部门,以便在我们的 SQL 数据库中查看。
任何人都可以帮我转换它,以便它对普通 SQL 是正确的,而不是对 Access SQL 是正确的吗?
我曾尝试在 ORACLE SQL Developer 中对其进行测试,但出现错误:
第 1 行第 25 列错误:ORA-00923:未在预期位置找到 FROM 关键字
SELECT T1.*,
(SELECT TOP 1 T3.[SMN_DATEC]-1
FROM
(SELECT T2.[DET_NUMBERA], T2.[SMN_DATEC]
FROM [CHRISCS_EMSAL] AS T2
ORDER BY [DET_NUMBERA],[SMN_DATEC]
) AS T3
WHERE T3.[DET_NUMBERA] = T1.[DET_NUMBERA]
AND T3.[SMN_DATEC] > T1.[SMN_DATEC]
) AS EndDate,
T1.[DET_NUMBERA],
T1.[SMN_DATEC]
FROM CHRISCS_EMSAL AS T1
ORDER BY T1.[DET_NUMBERA],
T1.[SMN_DATEC];
Run Code Online (Sandbox Code Playgroud) 我们公司在一个大型 Excel 工作簿中有用户数据(姓名、电子邮件、电话号码、访问系统、AD 用户名)。由于 Excel 工作簿中包含 1000 多个条目,因此变得非常缓慢,我们正在寻找替代解决方案。
我认为 Microsoft Access 是因为它的易用性和快速制作表格和报告的能力,但我的老板担心 Access 很快就会过时。有人对此有其他解决方案吗?我知道一点 SQL,所以这是一个选项,但不是首选选项。
ms-access database-design sql-server database-recommendation
我有一个 mdb 文件,其中包含许多 OBDC 链接表,这些表链接到其他地方的 SQL 服务器中的表。我看不到有关它们如何“链接”的任何信息。不知道意外的按键是否会影响实时数据库,这有点可怕。
如果SQL server表被修改了会不会自动反映到表中,什么时候?如果我编辑链接的 Access 表,它会反映在 SQL 服务器表中吗?(Trusted_Connection=YES 有什么意义?)
我有一个包含两个表的数据库。每个表都有不同的结构,但它们共享很少的公共字段。
简化示例:
表1字段结构:
Field1, Field2, Field3, Field4
Run Code Online (Sandbox Code Playgroud)
表2字段结构:
Field1, Field4, Field3, Field5, Field6
Run Code Online (Sandbox Code Playgroud)
当然,我的数据库有更好的命名字段和更多的字段。如您所见,两个表都有 Field1(主密钥)、Field3 和 Field4。
现在我想知道是否有可能以某种方式将这两个表中的数据合并为一个,最好不要实际复制和复制数据(使用数据库关系或查询)。
第三个表应包含所有常见字段和一些其他字段(当没有可用数据或某些默认数据时为空白单元格)。
我知道从长远来看最好修改数据库结构,以便所有公共字段都存储在一个表中,所有其他字段都存储在其他关系表中,但此时我不允许对现有表进行任何更改因为我的老板担心这会导致现有系统崩溃。
有计划更新并最终将这些系统合并为一个(包括数据库重组),但在此之前我确实需要进行一些统计分析,因此我正在寻找可快速实施的解决方案。
性能对此并不重要,因为这只是一个临时解决方案,但仍然需要,因为我不想等待太长时间来检索数据,也不想对整个数据库系统造成任何显着的减速.
所以欢迎提出任何建议。
给定以下 2 个表 a、b:
ID job
1 farmer
2 physician
3 bank clerk
Run Code Online (Sandbox Code Playgroud)
bID ID lang job
1 1 en farmer
2 2 en physician
3 3 en bank clerk
4 2 de Arzt
5 1 fr paysan
Run Code Online (Sandbox Code Playgroud)
SELECT a.ID, a.job, b.job FROM a LEFT JOIN b ON a.ID=b.ID WHERE b.lang='de'
Run Code Online (Sandbox Code Playgroud)
a.ID a.job b.job
1 farmer -
2 physician Arzt
3 bank clerk -
Run Code Online (Sandbox Code Playgroud)
2 physician Arzt
Run Code Online (Sandbox Code Playgroud)
有什么问题LEFT JOIN?我需要一些 (()) 吗?
我不确定如何将其从 Access 转换为 SQL。我们目前正在使用 SQL Server 2008。我正在尝试将 Access 报告迁移到 SQL 视图中。
SELECT
First(IIf(IsNull([dbo_CUST_ADDRESS]![STATE]),IIf(IsNull([dbo_CUSTOMER]![BILL_TO_STATE]),[dbo_CUSTOMER]![STATE],[dbo_CUSTOMER]![BILL_TO_STATE]),[dbo_CUST_ADDRESS]![STATE])) AS STATE
, dbo_RECEIVABLE.INVOICE_ID
, dbo_RECEIVABLE.INVOICE_DATE
, dbo_RECEIVABLE.CUSTOMER_ID
, First(IIf(IsNull([dbo_CUST_ADDRESS]![NAME]),IIf(IsNull([dbo_CUSTOMER]![BILL_TO_NAME]),[dbo_CUSTOMER]![NAME],[dbo_CUSTOMER]![BILL_TO_NAME]),[dbo_CUST_ADDRESS]![NAME])) AS COMPANY
, Sum(IIf([dbo_RECEIVABLE_LINE]![GL_ACCOUNT_ID]='4005-008',0,[dbo_RECEIVABLE_LINE]![AMOUNT])) AS Inv_Total_Amt
, Sum(IIf([dbo_RECEIVABLE_LINE]![REFERENCE]<>"LA-COUNTY" And [dbo_RECEIVABLE_LINE]![REFERENCE]<>"FREIGHT" And [dbo_RECEIVABLE_LINE]![GL_ACCOUNT_ID]<>'4005-008',[dbo_RECEIVABLE_LINE]![AMOUNT],0)) AS Subtotal
, Sum(IIf([dbo_RECEIVABLE_LINE]![REFERENCE]="LA-COUNTY",[dbo_RECEIVABLE_LINE]![AMOUNT],0)) AS TAX
, Sum(IIf([dbo_RECEIVABLE_LINE]![REFERENCE]="FREIGHT",[dbo_RECEIVABLE_LINE]![AMOUNT],0)) AS Freight
, dbo_RECEIVABLE.SALESREP_ID
FROM (((dbo_RECEIVABLE RIGHT JOIN dbo_RECEIVABLE_LINE ON dbo_RECEIVABLE.INVOICE_ID = dbo_RECEIVABLE_LINE.INVOICE_ID) LEFT JOIN dbo_CUSTOMER_ORDER ON dbo_RECEIVABLE_LINE.CUST_ORDER_ID = dbo_CUSTOMER_ORDER.ID) LEFT JOIN dbo_CUST_ADDRESS ON (dbo_CUSTOMER_ORDER.CUSTOMER_ID = dbo_CUST_ADDRESS.CUSTOMER_ID) AND (dbo_CUSTOMER_ORDER.SHIP_TO_ADDR_NO = dbo_CUST_ADDRESS.ADDR_NO)) LEFT JOIN dbo_CUSTOMER ON dbo_RECEIVABLE.CUSTOMER_ID = …Run Code Online (Sandbox Code Playgroud) ms-access ×12
sql-server ×4
join ×1
migration ×1
mysql ×1
odbc ×1
oracle ×1
permissions ×1
where ×1