回去

# 常见问题

#### 1. 遇到错误"failed to connect to server", 我怎么办？

客户端遇到链接故障，请按照下面的步骤进行检查：

1. 在服务器，执行 `systemctl status taosd` 检查taosd运行状态。如果没有运行，启动taosd
2. 确认客户端连接时指定了正确的服务器IP地址
3. ping服务器IP，如果没有反应，请检查你的网络
4. 检查防火墙设置，确认TCP/UDP 端口6030-6039 是打开的
5. 对于Linux上的JDBC（ODBC, Python, Go等接口类似）连接, 确保libtaos.so在目录/usr/local/lib/taos里, 并且/usr/local/lib/taos在系统库函数搜索路径LD_LIBRARY_PATH里
6. 对于windows上的JDBC, ODBC, Python, Go等连接，确保driver/c/taos.dll在你的系统搜索目录里 (建议taos.dll放在目录 C:\Windows\System32)
7. 如果仍不能排除连接故障，请使用命令行工具nc来分别判断指定端口的TCP和UDP连接是否通畅 检查UDP端口连接是否工作：`nc -vuz {hostIP} {port}` 检查服务器侧TCP端口连接是否工作：`nc -l {port}` 检查客户端侧TCP端口链接是否工作：`nc {hostIP} {port}`

#### 2. 虽然语法正确，为什么我还是得到 "Invalid SQL" 错误

如果你确认语法正确，请检查SQL语句长度是否超过64K。如果超过，也会返回这个错误。

#### 3. 为什么我删除超级表总是失败？

请确保超级表下已经没有其他表，否则系统不允许删除该超级表。

#### 4. 是否支持validation queries?

TDengine还没有一组专用的validation queries。然而建议你使用系统监测的数据库”log"来做。

#### 5. 我可以删除或更新一条记录吗？

不能。因为TDengine是为联网设备采集的数据设计的，不容许修改。但TDengine提供数据保留策略，只要数据记录超过保留时长，就会被自动删除。

#### 6. 我怎么创建超过250列的表？

TDengine最大允许创建250列的表。但是如果确实超过，我们建议按照数据特性，逻辑地将这个宽表分解成几个小表。

#### 7. 最有效的写入数据的方法是什么？

批量插入。每条写入语句可以一张表同时插入多条记录，也可以同时插入多张表的记录。

#### 8. windows系统下插入的nchar类数据中的汉字被解析成了乱码如何解决？

windows下插入nchar类的数据中如果有中文，请先确认系统的地区设置成了中国（在Control Panel里可以设置），这时cmd中的`taos`客户端应该已经可以正常工作了；如果是在IDE里开发Java应用，比如Eclipse， Intellij，请确认IDE里的文件编码为GBK（这是Java默认的编码类型），然后在生成Connection时，初始化客户端的配置，具体语句如下：

​ Class.forName("com.taosdata.jdbc.TSDBDriver");

​ Properties properties = new Properties();

​ properties.setProperty(TSDBDriver.LOCALE_KEY, "UTF-8");

​ Connection = DriverManager.getConnection(url, properties);

回去