zoukankan      html  css  js  c++  java
  • 关于字符“”转义的一个小陷阱

    一、问题介绍

    很久没有用c#去连数据库程序了,不过在网上找了一些资料,基本上还是写出来了,但是调试初步完成的程序时候,却发现在con.open()这个方法总是出错,说找不到数据库实例名称,或者远程连接失败,显示的错误是error40

    错误如下:

     

    二、环境介绍

    1、我的数据库是sqlserver2008,使用的开发环境是vs2013,.net4.0

    2、我的数据库安装采用的命名实例,所以在编写数据库连接字符串的时候的服务器名称应为 【计算机名数据实例名】

    数据库连接字符为:

      

    当发现连接错误之后,我以为是我的sql2008和vs2013环境不对而导致的错误,后面我就把以前的项目打开,把数据库附加上,更改一下数据连接字符串,发现错误是一样的。

    三、错误解决

    找了一个多小时错误最后发现,以前写sql连接字符的时候前面的都会加一个@符号,因为我字符串中有字符“”,如果不加的会提示错误,所以我每次都会加了。但是上次重装系统的时候把命名实例改为了“t”字符开头的名称了。然后【 】这个表示是一个制表格符,所以并不是会出错,本身就是一个转义符号的正确的使用场合,因为没有出错,也就忘记了加“@”了。

    解决办法就是在字符串前面加一个@。

    注意

    在写sql连接字符串,或者是在windows平台写文件路径的时候都记得在前面加上@字符,养成良好的习惯,让小陷阱去见鬼吧。

  • 相关阅读:
    递增三元子序列
    Linux sed 命令
    linux shell中$0,$?,$!等的特殊用法
    ansible-playbook使用
    Linux下通过crontab命令来实现定时任务
    iperf网络性能测试
    OpenStack接口测试工具rally/tempest环境搭建及使用
    Jenkins配置slaver节点
    微信小程序跳转外部链接(h5页面)以及数据交互
    Echarts 系列之折线图、柱状图相关配置
  • 原文地址:https://www.cnblogs.com/mingjiatang/p/4960326.html
Copyright © 2011-2022 走看看