小编Jak*_*ake的帖子

在.NET web.config文件中管理测试/ prod连接字符串的正确方法

我有我维护的应用程序的源代码.在我的web.config文件中,我有我的测试和生产数据库的连接字符串,如下所示:

<add name="conn" connectionString="Data Source=TestDBServer; (etc...)">

<add name="conn" connectionString="Data Source=ProdDBServer; (etc...)">
Run Code Online (Sandbox Code Playgroud)

每当我进行测试时,我只会注释掉生产连接字符串,反之亦然.例如,当我完成测试时,我会注释掉测试连接字符串并取消注释生产连接字符串然后进行部署.

我作为开发人员的职业生涯很早,但在我看来,必须有更好或更标准的方法来处理这个问题.我该怎么办?

编辑

Guilherme Lofrano Corneto联系了一个完全回答我自己问题的相同问题.我已经将我的标记重复了.链接在这里:

发布时将连接字符串从开发更改为生产

.net c#

7
推荐指数
1
解决办法
4158
查看次数

我不理解的ORA-00932(数据类型不一致:预期-获得CLOB)错误

我从这样的查询开始:

    SELECT A.*
      FROM TABLE_A A
INNER JOIN TABLE_B B
        ON A.YEAR = B.YEAR
     WHERE A.ID IN (SELECT ID FROM TABLE_B)
Run Code Online (Sandbox Code Playgroud)

上面的查询给了我重复的记录,所以我这样添加了DISTINCT关键字:

    SELECT DISTINCT A.*
      FROM TABLE_A A
INNER JOIN TABLE_B B
        ON A.YEAR = B.YEAR
     WHERE A.ID IN (SELECT ID FROM TABLE_B)
Run Code Online (Sandbox Code Playgroud)

第二个查询给了我以下错误:

ORA-00932:数据类型不一致:预期-获得CLOB

  1. 00000-“数据类型不一致:预期%s得到了%s”

我最终通过将WHERE子句中的条件移动到INNER JOIN这样来更正查询并消除了重复记录:

    SELECT A.*
      FROM TABLE_A A
INNER JOIN TABLE_B B
        ON A.YEAR = B.YEAR
       AND A.ID = B.ID
Run Code Online (Sandbox Code Playgroud)

我只是不明白为什么第二个查询不起作用。为什么在DISTINCT此处添加关键字会突然导致问题?

sql oracle

3
推荐指数
1
解决办法
5717
查看次数

将变量分配给 PL/SQL 块内的子查询结果

这是一些更简化的伪代码,描述了我正在尝试做的事情:

DECLARE
  CURSOR CURSOR_A IS
    SELECT FIELD_A1, FIELD_A2
    FROM TABLE_A;
vNAME NVARCHAR2(100) := NULL;
BEGIN
FOR RECORD_A IN CURSOR_A LOOP
  IF (RECORD_A.FIELD_A1 IS NOT NULL) THEN
    vNAME := RECORD_A.FIELD_A1;
  ELSE
    vNAME := (SELECT FIELD_B
                FROM TABLE_B
               WHERE TABLE_B.B2 = RECORD_A.A2)
END LOOP;
END;
/
Run Code Online (Sandbox Code Playgroud)

不允许在 PL/SQL 块中包含 SELECT 语句吗?

oracle plsql

2
推荐指数
1
解决办法
3792
查看次数

标签 统计

oracle ×2

.net ×1

c# ×1

plsql ×1

sql ×1